|
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-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.ant.freeform.ui; import java.awt.FontMetrics; import java.io.File; import javax.swing.JFileChooser; import javax.swing.event.ChangeListener; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import org.netbeans.api.queries.CollocationQuery; import org.netbeans.modules.ant.freeform.FreeformProject; import org.netbeans.modules.ant.freeform.FreeformProjectGenerator; import org.netbeans.spi.project.support.ant.AntProjectHelper; import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.netbeans.spi.project.support.ant.PropertyUtils; import org.openide.filesystems.FileUtil; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; /** * * @author David Konecny */ public class SourceFoldersPanel extends javax.swing.JPanel implements ProjectCustomizer.Panel, HelpCtx.Provider { private SourcesModel sourceFoldersModel; private ChangeListener listener; private boolean initialized; private boolean isWizard = true; private PropertyEvaluator evaluator; private ProjectModel model; /** Creates new form SourceFoldersPanel */ public SourceFoldersPanel() { initComponents(); sourceFoldersModel = new SourcesModel(); sourceFolders.setModel(sourceFoldersModel); initSourceLevel(); updateColumnWidths(); } public HelpCtx getHelpCtx() { return new HelpCtx( SourceFoldersPanel.class ); } /** WizardDescriptor.Panel can set one change listener * to be notified about changes in the panel. */ public void setChangeListener(ChangeListener listener) { this.listener = listener; } private void initSourceLevel() { sourceLevel.addItem(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_JDK13")); // NOI18N sourceLevel.addItem(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_JDK14")); // NOI18N sourceLevel.addItem(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_JDK15")); // NOI18N } private void updateButtons() { removeFolder.setEnabled(model.getSourceFoldersCount() > 0); } private void updateSourceLevelCombo(String sourceLevelValue) { if (sourceLevelValue.equals("1.3")) { // NOI18N sourceLevel.setSelectedIndex(0); } else if (sourceLevelValue.equals("1.4")) { // NOI18N sourceLevel.setSelectedIndex(1); } else if (sourceLevelValue.equals("1.5")) { // NOI18N sourceLevel.setSelectedIndex(2); } else { // user specified some other value in project.xml sourceLevel.addItem(sourceLevelValue); sourceLevel.setSelectedIndex(3); } } private String getSourceLevelValue(int index) { switch (index) { case 0: return "1.3"; // NOI18N case 1: return "1.4"; // NOI18N case 2: return "1.5"; // NOI18N default: return 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. */ private void initComponents() {//GEN-BEGIN:initComponents java.awt.GridBagConstraints gridBagConstraints; jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); sourceLevel = new javax.swing.JComboBox(); addFolder = new javax.swing.JButton(); removeFolder = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); sourceFolders = new javax.swing.JTable(); setLayout(new java.awt.GridBagLayout()); setMinimumSize(new java.awt.Dimension(200, 100)); setPreferredSize(new java.awt.Dimension(247, 251)); jLabel1.setLabelFor(this); org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_jLabel1")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0); add(jLabel1, gridBagConstraints); jLabel1.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_jLabel1")); jLabel2.setLabelFor(sourceFolders); org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_jLabel2")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; add(jLabel2, gridBagConstraints); jLabel2.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_jLabel2")); jLabel3.setLabelFor(sourceLevel); org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "LBL_SourceFoldersPanel_jLabel3")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6); add(jLabel3, gridBagConstraints); jLabel3.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_jLabel3")); sourceLevel.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { sourceLevelItemStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 12); add(sourceLevel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(addFolder, org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "BTN_SourceFoldersPanel_addFolder")); addFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; add(addFolder, gridBagConstraints); addFolder.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_addFolder")); org.openide.awt.Mnemonics.setLocalizedText(removeFolder, org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "BTN_SourceFoldersPanel_removeFolder")); removeFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { removeFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0); add(removeFolder, gridBagConstraints); removeFolder.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_removeFolder")); jScrollPane1.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentResized(java.awt.event.ComponentEvent evt) { jScrollPane1ComponentResized(evt); } }); sourceFolders.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); jScrollPane1.setViewportView(sourceFolders); sourceFolders.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_sourceFolders")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.gridheight = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 12); add(jScrollPane1, gridBagConstraints); jScrollPane1.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_SourceFoldersPanel_jScrollPanel1")); }//GEN-END:initComponents private void jScrollPane1ComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jScrollPane1ComponentResized updateColumnWidths(); }//GEN-LAST:event_jScrollPane1ComponentResized private void sourceLevelItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_sourceLevelItemStateChanged if (sourceLevel.getSelectedIndex() != -1 && model != null) { String sl = getSourceLevelValue(sourceLevel.getSelectedIndex()); if (sl == null) { sl = (String)sourceLevel.getSelectedItem(); } model.setSourceLevel(sl); } }//GEN-LAST:event_sourceLevelItemStateChanged private void removeFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeFolderActionPerformed int index = sourceFolders.getSelectedRow(); if (index == -1) { return; } String location = getItem(index).location; model.removeSourceFolder(index); sourceFoldersModel.fireTableDataChanged(); if (listener != null) { listener.stateChanged(null); } updateButtons(); }//GEN-LAST:event_removeFolderActionPerformed private void addFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addFolderActionPerformed JFileChooser chooser = new JFileChooser(); FileUtil.preventFileChooserSymlinkTraversal(chooser, null); chooser.setFileSelectionMode (JFileChooser.DIRECTORIES_ONLY); if (model.getBaseFolder() != null) { File files[] = model.getBaseFolder().listFiles(); if (files != null && files.length > 0) { chooser.setSelectedFile(files[0]); } else { chooser.setSelectedFile(model.getBaseFolder()); } } chooser.setDialogTitle(NbBundle.getMessage(SourceFoldersPanel.class, "LBL_Browse_Source_Folder")); chooser.setMultiSelectionEnabled(true); if ( JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(this)) { File files[] = chooser.getSelectedFiles(); for (int i=0; i |
... 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.