|
What this is
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 |
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.