alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 *                 Sun Public License Notice
 *
 * The contents of this file are subject to the Sun Public License
 * Version 1.0 (the "License"). You may not use this file except in
 * compliance with the License. A copy of the License is available at
 * http://www.sun.com/
 *
 * The Original Code is NetBeans. The Initial Developer of the Original
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
 * Microsystems, Inc. All Rights Reserved.
 */



package org.netbeans.modules.javacvs.customizers;

import java.util.*;
import java.io.File;
import org.openide.util.*;
import javax.swing.JFrame;
import javax.swing.ButtonGroup;
import java.awt.Window;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.accessibility.*;

import org.netbeans.modules.javacvs.FsCommit;
import org.netbeans.modules.javacvs.util.*;
import org.netbeans.lib.cvsclient.command.DefaultFileInfoContainer;
import org.netbeans.lib.cvsclient.command.Command;
import org.netbeans.lib.cvsclient.command.GlobalOptions;
import org.netbeans.lib.cvsclient.command.commit.*;
import java.beans.Customizer;

/**
 *
 * @author  mkleint
 * @version
 */
public class CommitParamInput extends javax.swing.JPanel implements Customizer {
    private FsCommit currentFSCommand;
    private List commitCommandList;
    private HashMap messageMap;
    
    private CustomizerPropChangeSupport support;
    
    /** Creates new form LogParamInput */
    public CommitParamInput() {
        initComponents();
        initAccessibility();
        if (support == null) {
            support = new CustomizerPropChangeSupport(this);
        }
        cbForceCommit.setMnemonic(bundle.getString("CommitParamInput.cbForceCommit.mnemonic").charAt(0)); //NOI18N
        cbLocal.setMnemonic(bundle.getString("CommitParamInput.cbLocal.mnemonic").charAt(0)); //NOI18N
        cbNoModule.setMnemonic(bundle.getString("CommitParamInput.cbNoModule.mnemonic").charAt(0)); //NOI18N
        cbRevision.setMnemonic(bundle.getString("CommitParamInput.cbRevision.mnemonic").charAt(0)); //NOI18N
        rbFileMessage.setMnemonic(bundle.getString("CommitParamInput.cbFileMessage.mnemonic").charAt(0)); //NOI18N
        rbMessage.setMnemonic(bundle.getString("CommitParamInput.cbMessage.mnemonic").charAt(0)); //NOI18N
        btnFileMessage.setMnemonic(bundle.getString("CommitParamInput.btnFileMessage.mnemonic").charAt(0)); //NOI18N
        txRevision.setEnabled(false);
        ButtonGroup bg = new ButtonGroup();
        bg.add(rbFileMessage);
        bg.add(rbMessage);
        java.awt.event.ActionListener actionList = new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                setData();
            }
        };
        cbForceCommit.addActionListener(actionList);
        cbLocal.addActionListener(actionList);
        cbNoModule.addActionListener(actionList);
        cbRevision.addActionListener(actionList);
        txFileMessage.addActionListener(actionList);
        txRevision.addActionListener(actionList);
        rbFileMessage.addActionListener(actionList);
        rbMessage.addActionListener(actionList);
        java.awt.event.FocusAdapter focusList = new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                setData();
            }
        };
        javax.swing.event.DocumentListener docList = new javax.swing.event.DocumentListener() {
                public void insertUpdate(javax.swing.event.DocumentEvent e) {
                    setData();
                }
                public void removeUpdate(javax.swing.event.DocumentEvent e) {
                    setData();
                }
                public void changedUpdate(javax.swing.event.DocumentEvent e) {
                    setData();
                }
        };
        txFileMessage.addFocusListener(focusList);
        txRevision.addFocusListener(focusList);
        taMessage.addFocusListener(focusList);
        taMessage.getDocument().addDocumentListener(docList);
        txRevision.getDocument().addDocumentListener(docList);
        txFileMessage.getDocument().addDocumentListener(docList);
        //        txDates.setEnabled(false);
        //        txKeyword.setEnabled(false);
        //        cbForceUpdate.setEnabled(false);
        cbForceCommit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                if (cbForceCommit.isSelected()) {
                    cbLocal.setSelected(true);
                    setData(currentFSCommand);
                }
            }
        });

        java.awt.event.FocusAdapter focus = new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                javax.swing.SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                       taMessage.requestFocus();
                   }
                });
            }
        };
        this.addFocusListener(focus);                

    }
    
    /** 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 FormEditor.
     */
    private void initComponents() {//GEN-BEGIN:initComponents
        java.awt.GridBagConstraints gridBagConstraints;

        jPanel1 = new javax.swing.JPanel();
        cbForceCommit = new javax.swing.JCheckBox();
        cbLocal = new javax.swing.JCheckBox();
        cbNoModule = new javax.swing.JCheckBox();
        cbRevision = new javax.swing.JCheckBox();
        txRevision = new javax.swing.JTextField();
        rbFileMessage = new javax.swing.JRadioButton();
        txFileMessage = new javax.swing.JTextField();
        btnFileMessage = new javax.swing.JButton();
        rbMessage = new javax.swing.JRadioButton();
        spMessage = new javax.swing.JScrollPane();
        taMessage = new javax.swing.JTextArea();

        setLayout(new java.awt.GridBagLayout());

        jPanel1.setLayout(new java.awt.GridBagLayout());

        cbForceCommit.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbForceUpdate.text"));
        cbForceCommit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cbForceCommitActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanel1.add(cbForceCommit, gridBagConstraints);

        cbLocal.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbLocal.text"));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanel1.add(cbLocal, gridBagConstraints);

        cbNoModule.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbNoModule.text"));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.weightx = 1.0;
        jPanel1.add(cbNoModule, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 11);
        add(jPanel1, gridBagConstraints);

        cbRevision.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbRevision.text"));
        cbRevision.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cbRevisionActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 12, 0, 0);
        add(cbRevision, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 99;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 11);
        add(txRevision, gridBagConstraints);

        rbFileMessage.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbFileMessage.text"));
        rbFileMessage.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbFileMessageActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 0);
        add(rbFileMessage, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 52;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(12, 5, 0, 11);
        add(txFileMessage, gridBagConstraints);

        btnFileMessage.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.btnFileMessage.text"));
        btnFileMessage.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnFileMessageActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(12, 0, 0, 11);
        add(btnFileMessage, gridBagConstraints);

        rbMessage.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/javacvs/customizers/Bundle").getString("CommitParamInput.cbMessage.text"));
        rbMessage.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbMessageActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.insets = new java.awt.Insets(5, 12, 11, 0);
        add(rbMessage, gridBagConstraints);

        spMessage.setPreferredSize(new java.awt.Dimension(300, 150));
        spMessage.setMinimumSize(new java.awt.Dimension(200, 100));
        spMessage.setViewportView(taMessage);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 11, 11);
        add(spMessage, gridBagConstraints);

    }//GEN-END:initComponents
    
    private void cbForceCommitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbForceCommitActionPerformed
        // Add your handling code here:
    }//GEN-LAST:event_cbForceCommitActionPerformed
    
    private void btnFileMessageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFileMessageActionPerformed
        // Add your handling code here:
        File initDir = new File(txFileMessage.getText());
        if (initDir.exists()) {
            if (initDir.isFile()) {
                initDir = initDir.getParentFile();
            }
        } else {
            initDir = new File(System.getProperty("user.home")); //NOI18N
        }
        ChooseFileDialog chooseDir = new ChooseFileDialog(new JFrame(), initDir, false);
        centerWindow(chooseDir);
        HelpCtx.setHelpIDString(chooseDir.getRootPane(), CommitParamInput.class.getName());
        chooseDir.show();
        String selected=chooseDir.getSelectedFile();
        if( selected==null ){
            //D.deb("no directory selected"); // NOI18N
            return ;
        }
        txFileMessage.setText(selected);
        setData(currentFSCommand);
    }//GEN-LAST:event_btnFileMessageActionPerformed
    
  private void rbFileMessageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbFileMessageActionPerformed
      // Add your handling code here:
      highlightFileMessage(true);
  }//GEN-LAST:event_rbFileMessageActionPerformed
  
  private void rbMessageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbMessageActionPerformed
      // Add your handling code here:
      highlightFileMessage(false);
  }//GEN-LAST:event_rbMessageActionPerformed
  
  
  private void highlightFileMessage(boolean fileIsOn) {
      txFileMessage.setEnabled(fileIsOn);
      btnFileMessage.setEnabled(fileIsOn);
      taMessage.setEnabled(!fileIsOn);
  }
  
  private void highlightRevision(boolean highlight) {
      txRevision.setEnabled(highlight);
  }
  
  
  
  private void cbRevisionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbRevisionActionPerformed
      // Add your handling code here:
      highlightRevision(cbRevision.isSelected());
  }//GEN-LAST:event_cbRevisionActionPerformed
  
  protected void setData() {
      if (commitCommandList != null) {
          Iterator it = commitCommandList.iterator();
          FsCommit fsCheck = null;
          while (it.hasNext()) {
              fsCheck = (FsCommit)it.next();
              setData(fsCheck);
          }
          if (fsCheck != null) {
              support.firePropertyChange(fsCheck);
          }
      } else {
          setData(currentFSCommand);
          support.firePropertyChange(currentFSCommand);
      }
  }
  
  protected void setData(FsCommit updCom) {
      if (updCom == null) return;
      updCom.setRecursive(!cbLocal.isSelected());
      updCom.setForceCommit(cbForceCommit.isSelected());
      updCom.setNoModuleProgram(cbNoModule.isSelected());
      if (rbFileMessage.isSelected()) {
          String fileName = txFileMessage.getText();
          if (fileName.trim().length() <= 0) {
              fileName = null;
          }
          updCom.setLogMessageFromFile(fileName);
      } else {
          updCom.setLogMessageFromFile(null);
      }
      if (cbRevision.isSelected() && !txRevision.getText().equals("")) { //NOI18N
          updCom.setToRevisionOrBranch(txRevision.getText());
      } else {
          updCom.setToRevisionOrBranch(null);
      }
      
      // message stuff
      if (rbMessage.isSelected()) {
          // no individual message settings
          updCom.setMessage(taMessage.getText());
      } else updCom.setMessage(null);
      
  }
  
  
  protected void getData(FsCommit updCom) {
      if (updCom == null) return;
      cbLocal.setSelected(!updCom.isRecursive());
      cbForceCommit.setSelected(updCom.isForceCommit());
      cbNoModule.setSelected(updCom.isNoModuleProgram());
      if (updCom.getToRevisionOrBranch() != null) {
          txRevision.setText(updCom.getToRevisionOrBranch());
          cbRevision.setSelected(true);
          highlightRevision(true);
      } else {
          txRevision.setText(""); //NOI18N
          cbRevision.setSelected(false);
          highlightRevision(false);
      }
      if (updCom.getLogMessageFromFile() != null) {
          txFileMessage.setText(updCom.getLogMessageFromFile());
          rbFileMessage.setSelected(true);
          highlightFileMessage(true);
      } else {
          rbMessage.setSelected(true);
          highlightFileMessage(false);
      }
      if (updCom.getMessage() != null) {
          taMessage.setText(updCom.getMessage());
      } else {
          taMessage.setText(""); //NOI18N
      }
      support.firePropertyChange(updCom);
  }
  
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea taMessage;
    private javax.swing.JCheckBox cbForceCommit;
    private javax.swing.JCheckBox cbNoModule;
    private javax.swing.JButton btnFileMessage;
    private javax.swing.JTextField txFileMessage;
    private javax.swing.JCheckBox cbRevision;
    private javax.swing.JRadioButton rbFileMessage;
    private javax.swing.JRadioButton rbMessage;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane spMessage;
    private javax.swing.JCheckBox cbLocal;
    private javax.swing.JTextField txRevision;
    // End of variables declaration//GEN-END:variables
    
    private static final java.util.ResourceBundle bundle = NbBundle.getBundle(CommitParamInput.class);   //NOI18N
    
    private void initAccessibility() {
        
        AccessibleContext context = this.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput"));
        
        context = cbLocal.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbLocal"));
        
        context = cbForceCommit.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbForceUpdate"));
        
        context = cbNoModule.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbNoModule"));
        
        context = cbRevision.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbRevision"));
        
        context = txRevision.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.txRevision"));
        
        context = rbFileMessage.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbFileMessage"));
        
        context = txFileMessage.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.txFileMessage"));
        
        context = btnFileMessage.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.btnFileMessage"));
        
        context = rbMessage.getAccessibleContext();
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.cbMessage"));
        
        context = taMessage.getAccessibleContext();
        context.setAccessibleName(bundle.getString("ACSN_CommitParamInput.taMessage"));
        context.setAccessibleDescription(bundle.getString("ACSD_CommitParamInput.taMessage"));
        
    }
    
    /**
     * The Customizer's setObject method. However the customizer accepts both the
     * FsCommit instance and a list of FsCommit instances. In case of a list,
     * it loads switches from the first comand in row, however sets all the instances.
     */
    
    
    public void setObject(java.lang.Object obj) {
        if (obj instanceof FsCommit) {
            currentFSCommand = (FsCommit)obj;
            commitCommandList = null;
            getData(currentFSCommand);
        }
        if (obj instanceof List) {
            commitCommandList = (List)obj;
            currentFSCommand = null;
            if (commitCommandList.size() > 0) {
                FsCommit check = (FsCommit)commitCommandList.get(0);
                getData(check);
            }
        }
    }
    
    public void removePropertyChangeListener(java.beans.PropertyChangeListener propertyChangeListener) {
        if (support == null) {
            support = new CustomizerPropChangeSupport(this);
        }
        support.removePropertyChangeListener(propertyChangeListener);
    }
    
    public void addPropertyChangeListener(java.beans.PropertyChangeListener propertyChangeListener) {
        if (support == null) {
            support = new CustomizerPropChangeSupport(this);
        }
        support.addPropertyChangeListener(propertyChangeListener);
    }
    
    protected void firePropertyChange(java.lang.String str, java.lang.Object obj, java.lang.Object obj2) {
        if (support == null) {
            support = new CustomizerPropChangeSupport(this);
        }
        support.firePropertyChange(str, obj, obj2);
    }
    
    
    public static void centerWindow(Window w) {
        w.setBounds(org.openide.util.Utilities.findCenterBounds(w.getSize()));
    }
}
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.