diff -r e53d59d23530 cnd.makeproject/nbproject/project.properties --- a/cnd.makeproject/nbproject/project.properties Wed Mar 24 17:01:00 2010 +0100 +++ b/cnd.makeproject/nbproject/project.properties Fri Mar 26 04:53:58 2010 -0400 @@ -3,4 +3,4 @@ sigtest.mail=cvs@cnd.netbeans.org -spec.version.base=1.10.0 +spec.version.base=1.11.0 diff -r e53d59d23530 cnd.makeproject/nbproject/project.xml --- a/cnd.makeproject/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/cnd.makeproject/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -142,7 +142,7 @@ 1 - 1.13.1.5 + 1.42 diff -r e53d59d23530 cnd.makeproject/src/org/netbeans/modules/cnd/makeproject/configurations/ui/ProjectPropPanel.java --- a/cnd.makeproject/src/org/netbeans/modules/cnd/makeproject/configurations/ui/ProjectPropPanel.java Wed Mar 24 17:01:00 2010 +0100 +++ b/cnd.makeproject/src/org/netbeans/modules/cnd/makeproject/configurations/ui/ProjectPropPanel.java Fri Mar 26 04:53:58 2010 -0400 @@ -40,21 +40,10 @@ */ package org.netbeans.modules.cnd.makeproject.configurations.ui; -import java.util.logging.Level; -import javax.swing.plaf.UIResource; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; import java.util.List; -import java.util.logging.Logger; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.ListCellRenderer; import org.netbeans.api.project.Project; import org.netbeans.modules.cnd.makeproject.MakeProject; import org.netbeans.modules.cnd.makeproject.api.MakeCustomizerProvider; @@ -62,6 +51,7 @@ import org.netbeans.modules.cnd.makeproject.api.configurations.MakeConfigurationDescriptor; import org.netbeans.modules.cnd.makeproject.ui.customizer.MakeContext; import org.netbeans.modules.cnd.makeproject.ui.utils.DirectoryChooserInnerPanel; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.filesystems.FileUtil; import org.openide.util.NbBundle; @@ -99,9 +89,8 @@ originalEncoding = Charset.defaultCharset().name(); } - encoding.setModel(new EncodingModel(this.originalEncoding)); - encoding.setRenderer(new EncodingRenderer()); - + encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + encoding.setRenderer(ProjectCustomizer.encodingRenderer()); encoding.addActionListener(new ActionListener() { @@ -133,86 +122,6 @@ makeConfigurationDescriptor.setFolderVisibilityQuery(ignoreFoldersTextField.getText()); } - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel(String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset(originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).log(Level.INFO, "IllegalCharsetName: {0}", originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - @Override - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } - private static class SourceRootChooser extends DirectoryChooserInnerPanel { public SourceRootChooser(String baseDir, List feed) { diff -r e53d59d23530 j2ee.clientproject/nbproject/project.properties --- a/j2ee.clientproject/nbproject/project.properties Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.clientproject/nbproject/project.properties Fri Mar 26 04:53:58 2010 -0400 @@ -38,7 +38,7 @@ # made subject to such option by the copyright holder. javac.compilerargs=-Xlint:unchecked -spec.version.base=1.15.0 +spec.version.base=1.16.0 javadoc.arch=${basedir}/arch.xml javadoc.preview=true javac.source=1.6 diff -r e53d59d23530 j2ee.clientproject/nbproject/project.xml --- a/j2ee.clientproject/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.clientproject/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -271,7 +271,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 j2ee.clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/customizer/CustomizerSources.java --- a/j2ee.clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -68,6 +68,7 @@ import org.openide.filesystems.FileUtil; import org.openide.util.HelpCtx; import org.netbeans.spi.project.support.ant.PropertyUtils; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -150,8 +151,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { // NOI18N encoding.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); // NOI18N @@ -638,83 +639,4 @@ private javax.swing.JButton upSourceRoot; private javax.swing.JButton upTestRoot; // End of variables declaration//GEN-END:variables - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - private static final long serialVersionUID = 1L; - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - private static final long serialVersionUID = 1L; - - public EncodingModel(String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset(originalEncoding); - addElement(defEnc); - } catch (java.nio.charset.IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } } diff -r e53d59d23530 j2ee.ejbjarproject/manifest.mf --- a/j2ee.ejbjarproject/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.ejbjarproject/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -2,6 +2,6 @@ OpenIDE-Module: org.netbeans.modules.j2ee.ejbjarproject OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbjarproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbjarproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 j2ee.ejbjarproject/nbproject/project.xml --- a/j2ee.ejbjarproject/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.ejbjarproject/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -315,7 +315,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 j2ee.ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/customizer/CustomizerSources.java --- a/j2ee.ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/j2ee.ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -70,6 +70,7 @@ import org.netbeans.modules.j2ee.ejbjarproject.EjbJarProject; import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer; import org.netbeans.spi.project.support.ant.PropertyUtils; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -144,8 +145,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { // NOI18N encoding.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); // NOI18N @@ -620,83 +621,4 @@ private javax.swing.JButton upSourceRoot; private javax.swing.JButton upTestRoot; // End of variables declaration//GEN-END:variables - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - private static final long serialVersionUID = 165039671121173778L; - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - private static final long serialVersionUID = 242741101262934942L; - - public EncodingModel(String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset(originalEncoding); - addElement(defEnc); - } catch (java.nio.charset.IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } } diff -r e53d59d23530 java.freeform/manifest.mf --- a/java.freeform/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/java.freeform/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.freeform/1 -OpenIDE-Module-Specification-Version: 1.16 +OpenIDE-Module-Specification-Version: 1.17 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff -r e53d59d23530 java.freeform/nbproject/project.xml --- a/java.freeform/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/java.freeform/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -130,6 +130,7 @@ 1 + 1.42 diff -r e53d59d23530 java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.form --- a/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.form Wed Mar 24 17:01:00 2010 +0100 +++ b/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.form Fri Mar 26 04:53:58 2010 -0400 @@ -1,4 +1,4 @@ - +
@@ -418,7 +418,7 @@ - + diff -r e53d59d23530 java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.java --- a/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.java Wed Mar 24 17:01:00 2010 +0100 +++ b/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersPanel.java Fri Mar 26 04:53:58 2010 -0400 @@ -54,7 +54,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultListCellRenderer; import javax.swing.JButton; import javax.swing.JComponent; @@ -68,7 +67,6 @@ import javax.swing.event.ChangeListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import javax.swing.plaf.UIResource; import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableCellRenderer; import org.netbeans.api.project.FileOwnerQuery; @@ -87,6 +85,7 @@ 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.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -190,7 +189,7 @@ } private void updateEncodingCombo() { - encodingComboBox.setModel(new EncodingModel()); + encodingComboBox.setModel(ProjectCustomizer.encodingModel(Charset.defaultCharset().name())); } private String getSourceLevelValue(int index) { @@ -478,7 +477,7 @@ encodingLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_Encoding_Label_Name")); // NOI18N encodingLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(SourceFoldersPanel.class, "ACSD_Encoding_Label_Desc")); // NOI18N - encodingComboBox.setRenderer(new EncodingRenderer()); + encodingComboBox.setRenderer(ProjectCustomizer.encodingRenderer()); encodingComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { encodingComboBoxActionPerformed(evt); @@ -1034,65 +1033,6 @@ } - private class EncodingModel extends DefaultComboBoxModel { - public EncodingModel() { - Object selEnc = null; - if (model.getEncoding() == null) { - addElement(ProjectModel.NO_ENCODING); - selEnc = ProjectModel.NO_ENCODING; - } - for (Charset cset : Charset.availableCharsets().values()) { - if (cset.name().equals(model.getEncoding())) { - selEnc = cset; - } - addElement(cset); - } - if (isWizard) { - setSelectedItem(FileEncodingQuery.getDefaultEncoding()); - } else { - if (selEnc != null) { - setSelectedItem(selEnc); - } - } - } - } - - private static class EncodingRenderer extends DefaultListCellRenderer implements UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - @Override - public Component getListCellRendererComponent(JList list, Object value, - int index, boolean isSelected, boolean cellHasFocus) { - setName("ComboBox.listRenderer"); // NOI18N - String dispName = null; - if (value instanceof Charset) { - dispName = ((Charset) value).displayName(); - } else { - dispName = value.toString(); - } - setText(dispName); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - private class ToolTipRenderer extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,int row, int column) { diff -r e53d59d23530 java.j2seproject/nbproject/project.properties --- a/java.j2seproject/nbproject/project.properties Wed Mar 24 17:01:00 2010 +0100 +++ b/java.j2seproject/nbproject/project.properties Fri Mar 26 04:53:58 2010 -0400 @@ -39,7 +39,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.6 -spec.version.base=1.36.0 +spec.version.base=1.37.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff -r e53d59d23530 java.j2seproject/nbproject/project.xml --- a/java.j2seproject/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/java.j2seproject/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -207,7 +207,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.java --- a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,7 +41,6 @@ package org.netbeans.modules.java.j2seproject.ui.customizer; -import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; @@ -50,26 +49,18 @@ import java.awt.event.ComponentEvent; import java.io.File; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; -import java.util.logging.Logger; import javax.swing.DefaultCellEditor; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; import javax.swing.JTable; import javax.swing.JTextField; -import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; import javax.swing.UIManager; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; -import javax.swing.plaf.UIResource; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import org.netbeans.modules.java.api.common.project.ui.customizer.SourceRootsUi; import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -152,8 +143,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE); //NOI18N @@ -243,84 +234,6 @@ this.sourceLevel.setEnabled(sourceLevel.getItemCount()>0); } - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - private static class ResizableRowHeightTable extends JTable { private boolean needResize = true; diff -r e53d59d23530 javacard.project/manifest.mf --- a/javacard.project/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/javacard.project/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -4,6 +4,6 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javacard/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.IOProvider OpenIDE-Module-Provides: org.netbeans.modules.javacard.JavacardPlatform -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 javacard.project/nbproject/project.xml --- a/javacard.project/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/javacard.project/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -196,7 +196,7 @@ 1 - 1.24.1.6 + 1.42 @@ -360,6 +360,9 @@ org.openide.util.lookup + + 8.2 + org.openide.windows diff -r e53d59d23530 javacard.project/src/org/netbeans/modules/javacard/project/customizer/CustomizerSources.java --- a/javacard.project/src/org/netbeans/modules/javacard/project/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/javacard.project/src/org/netbeans/modules/javacard/project/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -51,7 +51,6 @@ import org.openide.util.NbBundle; import javax.swing.*; -import javax.swing.plaf.UIResource; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import java.awt.*; @@ -61,14 +60,11 @@ import java.awt.event.ComponentEvent; import java.io.File; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; import java.util.HashSet; import java.util.Set; -import java.util.logging.Logger; import javax.swing.table.DefaultTableModel; import org.netbeans.modules.javacard.common.GuiUtils; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; /** * Customizer panel "Sources": source roots, level, includes/excludes. @@ -115,8 +111,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE); //NOI18N @@ -208,89 +204,7 @@ private void enableSourceLevel () { this.sourceLevel.setEnabled(sourceLevel.getItemCount()>0); } - - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info( - "IllegalCharsetName: " + originalEncoding); //NOI18N - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - @Override - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - private static class ResizableRowHeightTable extends JTable { private boolean needResize = true; diff -r e53d59d23530 maven/manifest.mf --- a/maven/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/maven/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven/1 OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help -OpenIDE-Module-Specification-Version: 1.6 +OpenIDE-Module-Specification-Version: 1.7 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/maven/layer.xml OpenIDE-Module-Install: org/netbeans/modules/maven/ModInstall.class diff -r e53d59d23530 maven/nbproject/project.xml --- a/maven/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/maven/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -239,7 +239,7 @@ 1 - 1.32 + 1.42 diff -r e53d59d23530 maven/src/org/netbeans/modules/maven/customizer/SourcesPanel.java --- a/maven/src/org/netbeans/modules/maven/customizer/SourcesPanel.java Wed Mar 24 17:01:00 2010 +0100 +++ b/maven/src/org/netbeans/modules/maven/customizer/SourcesPanel.java Fri Mar 26 04:53:58 2010 -0400 @@ -60,6 +60,7 @@ import org.netbeans.api.java.queries.SourceLevelQuery; import org.netbeans.api.queries.FileEncodingQuery; import org.netbeans.modules.maven.api.ModelUtils; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -115,8 +116,8 @@ } defaultEncoding = Charset.defaultCharset().toString(); - comEncoding.setModel(new EncodingModel(encoding)); - comEncoding.setRenderer(new EncodingRenderer()); + comEncoding.setModel(ProjectCustomizer.encodingModel(encoding)); + comEncoding.setRenderer(ProjectCustomizer.encodingRenderer()); comSourceLevel.addActionListener(new ActionListener() { @Override @@ -163,68 +164,6 @@ } } - - - private static class EncodingRenderer extends DefaultListCellRenderer { - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - return super.getListCellRendererComponent(list, ((Charset)value).displayName(), index, isSelected, cellHasFocus); - } - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); //NOI18N - } - } - if (defEnc == null) { - defEnc = FileEncodingQuery.getDefaultEncoding(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - @Override - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - @Override - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is diff -r e53d59d23530 php.project/manifest.mf --- a/php.project/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.25 +OpenIDE-Module-Specification-Version: 2.26 OpenIDE-Module: org.netbeans.modules.php.project OpenIDE-Module-Layer: org/netbeans/modules/php/project/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/project/resources/Bundle.properties diff -r e53d59d23530 php.project/nbproject/project.xml --- a/php.project/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -201,7 +201,7 @@ 1 - 1.22 + 1.42 diff -r e53d59d23530 php.project/src/org/netbeans/modules/php/project/ui/Utils.java --- a/php.project/src/org/netbeans/modules/php/project/ui/Utils.java Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/src/org/netbeans/modules/php/project/ui/Utils.java Fri Mar 26 04:53:58 2010 -0400 @@ -617,92 +617,6 @@ return secure; } - public static class EncodingModel extends DefaultComboBoxModel { - private static final long serialVersionUID = -3139920099217726436L; - - public EncodingModel() { - this(null); - } - - public EncodingModel(String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null && originalEncoding != null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset(originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(EncodingModel.class.getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - public static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - private static final long serialVersionUID = 3196531352192214602L; - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, - boolean cellHasFocus) { - setName("ComboBox.listRenderer"); // NOI18N - // #175238 - if (value != null) { - assert value instanceof Charset; - setText(((Charset) value).displayName()); - } - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } - /** * Display Options dialog with PHP > General panel preselected. */ diff -r e53d59d23530 php.project/src/org/netbeans/modules/php/project/ui/customizer/CustomizerSources.java --- a/php.project/src/org/netbeans/modules/php/project/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/src/org/netbeans/modules/php/project/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -66,11 +66,10 @@ import org.netbeans.modules.php.project.ui.LocalServer; import org.netbeans.modules.php.project.ui.LocalServerController; import org.netbeans.modules.php.project.ui.Utils; -import org.netbeans.modules.php.project.ui.Utils.EncodingModel; -import org.netbeans.modules.php.project.ui.Utils.EncodingRenderer; import org.netbeans.modules.php.project.ui.Utils.PhpVersionComboBoxModel; import org.netbeans.modules.php.project.ui.SourcesFolderProvider; import org.netbeans.spi.project.support.ant.PropertyUtils; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.netbeans.spi.project.ui.support.ProjectCustomizer.Category; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -174,8 +173,8 @@ if (originalEncoding == null) { originalEncoding = Charset.defaultCharset().name(); } - encodingComboBox.setRenderer(new EncodingRenderer()); - encodingComboBox.setModel(new EncodingModel(originalEncoding)); + encodingComboBox.setRenderer(ProjectCustomizer.encodingRenderer()); + encodingComboBox.setModel(ProjectCustomizer.encodingModel(originalEncoding)); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { // NOI18N encodingComboBox.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); // NOI18N diff -r e53d59d23530 php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureExistingProjectPanelVisual.java --- a/php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureExistingProjectPanelVisual.java Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureExistingProjectPanelVisual.java Fri Mar 26 04:53:58 2010 -0400 @@ -58,9 +58,8 @@ import org.netbeans.modules.php.project.ui.LastUsedFolders; import org.netbeans.modules.php.project.ui.LocalServer; import org.netbeans.modules.php.project.ui.Utils; -import org.netbeans.modules.php.project.ui.Utils.EncodingModel; -import org.netbeans.modules.php.project.ui.Utils.EncodingRenderer; import org.netbeans.modules.php.project.ui.Utils.PhpVersionComboBoxModel; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.awt.Mnemonics; import org.openide.util.NbBundle; @@ -82,8 +81,8 @@ phpVersionComboBox.setModel(new PhpVersionComboBoxModel()); - encodingComboBox.setModel(new EncodingModel()); - encodingComboBox.setRenderer(new EncodingRenderer()); + encodingComboBox.setModel(ProjectCustomizer.encodingModel(Charset.defaultCharset().name())); + encodingComboBox.setRenderer(ProjectCustomizer.encodingRenderer()); } @Override diff -r e53d59d23530 php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureNewProjectPanelVisual.java --- a/php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureNewProjectPanelVisual.java Wed Mar 24 17:01:00 2010 +0100 +++ b/php.project/src/org/netbeans/modules/php/project/ui/wizards/ConfigureNewProjectPanelVisual.java Fri Mar 26 04:53:58 2010 -0400 @@ -57,9 +57,8 @@ import org.netbeans.modules.php.project.ui.LastUsedFolders; import org.netbeans.modules.php.project.ui.LocalServer; import org.netbeans.modules.php.project.ui.LocalServerController; -import org.netbeans.modules.php.project.ui.Utils.EncodingModel; -import org.netbeans.modules.php.project.ui.Utils.EncodingRenderer; import org.netbeans.modules.php.project.ui.Utils.PhpVersionComboBoxModel; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.awt.Mnemonics; import org.openide.util.NbBundle; @@ -84,8 +83,8 @@ phpVersionComboBox.setModel(new PhpVersionComboBoxModel()); - encodingComboBox.setModel(new EncodingModel()); - encodingComboBox.setRenderer(new EncodingRenderer()); + encodingComboBox.setModel(ProjectCustomizer.encodingModel(Charset.defaultCharset().name())); + encodingComboBox.setRenderer(ProjectCustomizer.encodingRenderer()); } @Override diff -r e53d59d23530 projectuiapi/apichanges.xml --- a/projectuiapi/apichanges.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/projectuiapi/apichanges.xml Fri Mar 26 04:53:58 2010 -0400 @@ -104,6 +104,25 @@ + + + Added public static ProjectCustomizer.encodingModel(String) and public static ProjectCustomizer.encodingRenderer() + + + + + +

+ Added factory methods to ProjectCustomizer, + for creating a ComboBoxModel of Charsets for all available + character encodings with an initial selection, and a + ListCellRenderer for Charset objects, for use in + combo boxes. +

+
+ + +
Customizer panel registrations using annotations diff -r e53d59d23530 projectuiapi/nbproject/project.properties --- a/projectuiapi/nbproject/project.properties Wed Mar 24 17:01:00 2010 +0100 +++ b/projectuiapi/nbproject/project.properties Fri Mar 26 04:53:58 2010 -0400 @@ -39,7 +39,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.6 -spec.version.base=1.41.0 +spec.version.base=1.42.0 is.autoload=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff -r e53d59d23530 projectuiapi/src/org/netbeans/spi/project/ui/support/ProjectCustomizer.java --- a/projectuiapi/src/org/netbeans/spi/project/ui/support/ProjectCustomizer.java Wed Mar 24 17:01:00 2010 +0100 +++ b/projectuiapi/src/org/netbeans/spi/project/ui/support/ProjectCustomizer.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,6 +41,7 @@ package org.netbeans.spi.project.ui.support; +import java.awt.Component; import java.awt.Dialog; import java.awt.Image; import java.awt.event.ActionListener; @@ -49,6 +50,10 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CharsetEncoder; +import java.nio.charset.IllegalCharsetNameException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -56,8 +61,13 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.ComboBoxModel; +import javax.swing.DefaultComboBoxModel; +import javax.swing.DefaultListCellRenderer; import javax.swing.JComponent; +import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.ListCellRenderer; import org.netbeans.modules.project.uiapi.CategoryModel; import org.netbeans.modules.project.uiapi.CategoryView; @@ -774,4 +784,96 @@ return context; } } + + /** + * Create a new cell renderer for lists or combo boxes whose model + * object type is Charset. + * @return A renderer + * @since 1.42 + */ + public static ListCellRenderer encodingRenderer() { + return new EncodingRenderer(); + } + + /** + * Create a new combo box model of all available Charsets + * whose initial selection is a Charset with the provided name. + * If the provided name is null or not a known character set, + * a dummy Charset instance will be used for the selection. + * + * @param initialCharset The initial character encoding, e.g. "UTF-8" or + * Charset.defaultCharset().name() + * @return A combo box model of all available character encodings + * @since 1.42 + */ + public static ComboBoxModel encodingModel(String initialCharset) { + return new EncodingModel(initialCharset); + } + + private static final class EncodingRenderer extends DefaultListCellRenderer { + EncodingRenderer() { + //Needed for synth? + setName ("ComboBox.listRenderer"); //NOI18N + } + + @Override + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean isLeadSelection) { + if (value instanceof Charset) { + value = ((Charset) value).displayName(); + } + return super.getListCellRendererComponent(list, value, index, + isSelected, isLeadSelection); + } + } + + private static final class EncodingModel extends DefaultComboBoxModel { + + EncodingModel (String originalEncoding) { + Charset defEnc = null; + for (Charset c : Charset.availableCharsets().values()) { + if (c.name().equals(originalEncoding)) { + defEnc = c; + } else if (c.aliases().contains(originalEncoding)) { //Mobility - can have hand-entered encoding + defEnc = c; + } + addElement(c); + } + if (originalEncoding != null && defEnc == null) { + //Create artificial Charset to keep the original value + //May happen when the project was set up on the platform + //which supports more encodings + try { + defEnc = new UnknownCharset (originalEncoding); + addElement(defEnc); + } catch (IllegalCharsetNameException e) { + //The source.encoding property is completely broken + Logger.getLogger(this.getClass().getName()).info( + "IllegalCharsetName: " + originalEncoding); //NOI18N + } + } + if (defEnc == null) { + defEnc = Charset.defaultCharset(); + } + setSelectedItem(defEnc); + } + + private static final class UnknownCharset extends Charset { + UnknownCharset (String name) { + super (name, new String[0]); + } + + public boolean contains(Charset c) { + return false; + } + + public CharsetDecoder newDecoder() { + throw new UnsupportedOperationException(); + } + + public CharsetEncoder newEncoder() { + throw new UnsupportedOperationException(); + } + } + } } diff -r e53d59d23530 python.project/manifest.mf --- a/python.project/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/python.project/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -2,6 +2,6 @@ OpenIDE-Module: org.netbeans.modules.python.project OpenIDE-Module-Layer: org/netbeans/modules/python/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/python/project/Bundle.properties -OpenIDE-Module-Specification-Version: 0.1 +OpenIDE-Module-Specification-Version: 0.2 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 python.project/nbproject/project.xml --- a/python.project/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/python.project/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -73,7 +73,7 @@ 1 - 1.24.1.6 + 1.42
diff -r e53d59d23530 python.project/src/org/netbeans/modules/python/project/ui/customizer/CustomizerSources.java --- a/python.project/src/org/netbeans/modules/python/project/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/python.project/src/org/netbeans/modules/python/project/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,7 +41,6 @@ package org.netbeans.modules.python.project.ui.customizer; -import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; @@ -50,28 +49,20 @@ import java.awt.event.ComponentEvent; import java.io.File; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; import java.util.LinkedList; import java.util.List; -import java.util.logging.Logger; import javax.swing.DefaultCellEditor; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; import javax.swing.JTable; import javax.swing.JTextField; -import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; import javax.swing.UIManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import javax.swing.plaf.UIResource; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import org.netbeans.modules.python.project.ui.Utils; import org.netbeans.modules.python.project.util.Pair; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.filesystems.FileObject; @@ -140,8 +131,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE); //NOI18N @@ -227,35 +218,6 @@ return new HelpCtx (CustomizerSources.class); } - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - private class MediatorListener implements ChangeListener { public void stateChanged(ChangeEvent e) { @@ -280,54 +242,6 @@ } - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - private static class ResizableRowHeightTable extends JTable { private boolean needResize = true; diff -r e53d59d23530 ruby.merbproject/manifest.mf --- a/ruby.merbproject/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.merbproject/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -3,5 +3,5 @@ OpenIDE-Module-Layer: org/netbeans/modules/ruby/merbproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ruby/merbproject/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.2 +OpenIDE-Module-Specification-Version: 1.3 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 ruby.merbproject/nbproject/project.xml --- a/ruby.merbproject/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.merbproject/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -74,7 +74,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 ruby.merbproject/src/org/netbeans/modules/ruby/merbproject/ui/customizer/CustomizerSources.java --- a/ruby.merbproject/src/org/netbeans/modules/ruby/merbproject/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.merbproject/src/org/netbeans/modules/ruby/merbproject/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,23 +41,14 @@ package org.netbeans.modules.ruby.merbproject.ui.customizer; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; -import java.util.logging.Logger; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.ListCellRenderer; -import javax.swing.plaf.UIResource; import java.io.File; import java.nio.charset.Charset; import javax.swing.JPanel; import javax.swing.UIManager; import org.netbeans.modules.ruby.merbproject.MerbProject; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.filesystems.FileObject; @@ -118,8 +109,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(this.originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N @@ -161,84 +152,6 @@ public HelpCtx getHelpCtx() { return new HelpCtx (CustomizerSources.class); } - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is diff -r e53d59d23530 ruby.project/manifest.mf --- a/ruby.project/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.project/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -4,5 +4,5 @@ OpenIDE-Module-Install: org/netbeans/modules/ruby/rubyproject/RubyProjectModuleInstaller.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ruby/rubyproject/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 ruby.project/nbproject/project.xml --- a/ruby.project/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.project/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -136,7 +136,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 ruby.project/src/org/netbeans/modules/ruby/rubyproject/ui/customizer/CustomizerSources.java --- a/ruby.project/src/org/netbeans/modules/ruby/rubyproject/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.project/src/org/netbeans/modules/ruby/rubyproject/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,23 +41,14 @@ package org.netbeans.modules.ruby.rubyproject.ui.customizer; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; -import java.util.logging.Logger; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.ListCellRenderer; -import javax.swing.plaf.UIResource; import java.io.File; import java.nio.charset.Charset; import javax.swing.JPanel; import javax.swing.UIManager; import org.netbeans.modules.ruby.rubyproject.RubyProject; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.filesystems.FileObject; @@ -118,8 +109,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N @@ -160,85 +151,7 @@ public HelpCtx getHelpCtx() { return new HelpCtx (CustomizerSources.class); - } - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset (String name) { - super (name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } -} - + } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is diff -r e53d59d23530 ruby.railsprojects/manifest.mf --- a/ruby.railsprojects/manifest.mf Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.railsprojects/manifest.mf Fri Mar 26 04:53:58 2010 -0400 @@ -3,5 +3,5 @@ OpenIDE-Module-Layer: org/netbeans/modules/ruby/railsprojects/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ruby/railsprojects/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 1.9 AutoUpdate-Show-In-Client: false diff -r e53d59d23530 ruby.railsprojects/nbproject/project.xml --- a/ruby.railsprojects/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.railsprojects/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -118,7 +118,7 @@ 1 - 1.16.0.5 + 1.42 diff -r e53d59d23530 ruby.railsprojects/src/org/netbeans/modules/ruby/railsprojects/ui/customizer/CustomizerRun.java --- a/ruby.railsprojects/src/org/netbeans/modules/ruby/railsprojects/ui/customizer/CustomizerRun.java Wed Mar 24 17:01:00 2010 +0100 +++ b/ruby.railsprojects/src/org/netbeans/modules/ruby/railsprojects/ui/customizer/CustomizerRun.java Fri Mar 26 04:53:58 2010 -0400 @@ -42,11 +42,6 @@ package org.netbeans.modules.ruby.railsprojects.ui.customizer; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.IllegalCharsetNameException; -import java.util.logging.Logger; -import javax.swing.plaf.UIResource; import java.awt.Component; import java.awt.Font; import java.awt.event.ActionEvent; @@ -66,7 +61,6 @@ import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTextField; -import javax.swing.ListCellRenderer; import javax.swing.UIManager; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @@ -80,6 +74,7 @@ import org.netbeans.modules.ruby.railsprojects.server.ServerRegistry; import org.netbeans.modules.ruby.railsprojects.server.spi.RubyInstance; import org.netbeans.modules.ruby.rubyproject.ui.customizer.CustomizerSupport; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.filesystems.FileObject; @@ -191,8 +186,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(this.originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { //NOI18N @@ -708,81 +703,4 @@ private javax.swing.JLabel urlLabel; private javax.swing.JTextField urlTextField; // End of variables declaration//GEN-END:variables - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel (String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset (originalEncoding); - addElement(defEnc); - } catch (IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } - } diff -r e53d59d23530 web.project/nbproject/project.properties --- a/web.project/nbproject/project.properties Wed Mar 24 17:01:00 2010 +0100 +++ b/web.project/nbproject/project.properties Fri Mar 26 04:53:58 2010 -0400 @@ -53,7 +53,7 @@ javac.compilerargs=-Xlint:unchecked javadoc.arch=${basedir}/arch.xml -spec.version.base=1.23.0 +spec.version.base=1.24.0 # needed for the TestUtil class test.unit.cp.extra= diff -r e53d59d23530 web.project/nbproject/project.xml --- a/web.project/nbproject/project.xml Wed Mar 24 17:01:00 2010 +0100 +++ b/web.project/nbproject/project.xml Fri Mar 26 04:53:58 2010 -0400 @@ -301,7 +301,7 @@ 1 - 1.31 + 1.42 diff -r e53d59d23530 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerSources.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerSources.java Wed Mar 24 17:01:00 2010 +0100 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerSources.java Fri Mar 26 04:53:58 2010 -0400 @@ -41,29 +41,20 @@ package org.netbeans.modules.web.project.ui.customizer; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.File; import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.util.logging.Logger; -import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFileChooser; -import javax.swing.JLabel; -import javax.swing.JList; import javax.swing.JTable; import javax.swing.JTextField; -import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; import javax.swing.UIManager; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; -import javax.swing.plaf.UIResource; import javax.swing.table.TableColumn; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -74,6 +65,7 @@ import org.netbeans.spi.project.support.ant.PropertyUtils; import org.netbeans.modules.web.project.WebProject; import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -154,8 +146,8 @@ this.originalEncoding = Charset.defaultCharset().name(); } - this.encoding.setModel(new EncodingModel(this.originalEncoding)); - this.encoding.setRenderer(new EncodingRenderer()); + this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding)); + this.encoding.setRenderer(ProjectCustomizer.encodingRenderer()); final String lafid = UIManager.getLookAndFeel().getID(); if (!"Aqua".equals(lafid)) { // NOI18N encoding.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); // NOI18N @@ -640,81 +632,4 @@ private javax.swing.JLabel webInfLabel; private javax.swing.JTextField webInfTextField; // End of variables declaration//GEN-END:variables - - private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource { - - public EncodingRenderer() { - setOpaque(true); - } - - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - assert value instanceof Charset; - setName("ComboBox.listRenderer"); // NOI18N - setText(((Charset) value).displayName()); - setIcon(null); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } - - @Override - public String getName() { - String name = super.getName(); - return name == null ? "ComboBox.renderer" : name; // NOI18N - } - - } - - private static class EncodingModel extends DefaultComboBoxModel { - - public EncodingModel(String originalEncoding) { - Charset defEnc = null; - for (Charset c : Charset.availableCharsets().values()) { - if (c.name().equals(originalEncoding)) { - defEnc = c; - } - addElement(c); - } - if (defEnc == null) { - //Create artificial Charset to keep the original value - //May happen when the project was set up on the platform - //which supports more encodings - try { - defEnc = new UnknownCharset(originalEncoding); - addElement(defEnc); - } catch (java.nio.charset.IllegalCharsetNameException e) { - //The source.encoding property is completely broken - Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding); - } - } - if (defEnc == null) { - defEnc = Charset.defaultCharset(); - } - setSelectedItem(defEnc); - } - } - - private static class UnknownCharset extends Charset { - - UnknownCharset(String name) { - super(name, new String[0]); - } - - public boolean contains(Charset c) { - throw new UnsupportedOperationException(); - } - - public CharsetDecoder newDecoder() { - throw new UnsupportedOperationException(); - } - - public CharsetEncoder newEncoder() { - throw new UnsupportedOperationException(); - } - } }