This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 182711
Collapse All | Expand All

(-)a/ada.project/manifest.mf (-1 / +1 lines)
Lines 3-7 Link Here
3
OpenIDE-Module: org.netbeans.modules.ada.project
3
OpenIDE-Module: org.netbeans.modules.ada.project
4
OpenIDE-Module-Layer: org/netbeans/modules/ada/project/resources/layer.xml
4
OpenIDE-Module-Layer: org/netbeans/modules/ada/project/resources/layer.xml
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/project/Bundle.properties
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/project/Bundle.properties
6
OpenIDE-Module-Specification-Version: 0.1.7
6
OpenIDE-Module-Specification-Version: 0.2.7
7
7
(-)a/ada.project/nbproject/project.xml (-1 / +1 lines)
Lines 73-79 Link Here
73
                    <compile-dependency/>
73
                    <compile-dependency/>
74
                    <run-dependency>
74
                    <run-dependency>
75
                        <release-version>1</release-version>
75
                        <release-version>1</release-version>
76
                        <specification-version>1.31</specification-version>
76
                        <specification-version>1.42</specification-version>
77
                    </run-dependency>
77
                    </run-dependency>
78
                </dependency>
78
                </dependency>
79
                <dependency>
79
                <dependency>
(-)a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerSources.java (-89 / +3 lines)
Lines 40-46 Link Here
40
40
41
package org.netbeans.modules.ada.project.ui.properties;
41
package org.netbeans.modules.ada.project.ui.properties;
42
42
43
import java.awt.Component;
44
import java.awt.Font;
43
import java.awt.Font;
45
import java.awt.Graphics;
44
import java.awt.Graphics;
46
import java.awt.event.ActionEvent;
45
import java.awt.event.ActionEvent;
Lines 49-76 Link Here
49
import java.awt.event.ComponentEvent;
48
import java.awt.event.ComponentEvent;
50
import java.io.File;
49
import java.io.File;
51
import java.nio.charset.Charset;
50
import java.nio.charset.Charset;
52
import java.nio.charset.CharsetDecoder;
53
import java.nio.charset.CharsetEncoder;
54
import java.nio.charset.IllegalCharsetNameException;
55
import java.util.LinkedList;
51
import java.util.LinkedList;
56
import java.util.List;
52
import java.util.List;
57
import java.util.logging.Logger;
58
import javax.swing.DefaultCellEditor;
53
import javax.swing.DefaultCellEditor;
59
import javax.swing.DefaultComboBoxModel;
60
import javax.swing.JLabel;
61
import javax.swing.JList;
62
import javax.swing.JTable;
54
import javax.swing.JTable;
63
import javax.swing.JTextField;
55
import javax.swing.JTextField;
64
import javax.swing.ListCellRenderer;
65
import javax.swing.ListSelectionModel;
56
import javax.swing.ListSelectionModel;
66
import javax.swing.UIManager;
57
import javax.swing.UIManager;
67
import javax.swing.event.ChangeEvent;
58
import javax.swing.event.ChangeEvent;
68
import javax.swing.event.ChangeListener;
59
import javax.swing.event.ChangeListener;
69
import javax.swing.plaf.UIResource;
70
import javax.swing.table.TableColumn;
60
import javax.swing.table.TableColumn;
71
import javax.swing.table.TableModel;
61
import javax.swing.table.TableModel;
72
import org.netbeans.modules.ada.project.Pair;
62
import org.netbeans.modules.ada.project.Pair;
73
import org.netbeans.modules.ada.project.ui.Utils;
63
import org.netbeans.modules.ada.project.ui.Utils;
64
import org.netbeans.spi.project.ui.support.ProjectCustomizer;
74
import org.openide.DialogDisplayer;
65
import org.openide.DialogDisplayer;
75
import org.openide.NotifyDescriptor;
66
import org.openide.NotifyDescriptor;
76
import org.openide.filesystems.FileObject;
67
import org.openide.filesystems.FileObject;
Lines 139-146 Link Here
139
            this.originalEncoding = Charset.defaultCharset().name();
130
            this.originalEncoding = Charset.defaultCharset().name();
140
        }
131
        }
141
        
132
        
142
        this.encoding.setModel(new EncodingModel(this.originalEncoding));
133
        this.encoding.setModel(ProjectCustomizer.encodingModel(this.originalEncoding));
143
        this.encoding.setRenderer(new EncodingRenderer());
134
        this.encoding.setRenderer(ProjectCustomizer.encodingRenderer());
144
        final String lafid = UIManager.getLookAndFeel().getID();
135
        final String lafid = UIManager.getLookAndFeel().getID();
145
        if (!"Aqua".equals(lafid)) { //NOI18N
136
        if (!"Aqua".equals(lafid)) { //NOI18N
146
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
137
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
Lines 226-260 Link Here
226
        return new HelpCtx(this.getClass());
217
        return new HelpCtx(this.getClass());
227
    }
218
    }
228
    
219
    
229
    private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource {
230
        
231
        public EncodingRenderer() {
232
            setOpaque(true);
233
        }
234
        
235
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
236
            assert value instanceof Charset;
237
            setName("ComboBox.listRenderer"); // NOI18N
238
            setText(((Charset) value).displayName());
239
            setIcon(null);
240
            if (isSelected) {
241
                setBackground(list.getSelectionBackground());
242
                setForeground(list.getSelectionForeground());             
243
            } else {
244
                setBackground(list.getBackground());
245
                setForeground(list.getForeground());
246
            }
247
            return this;
248
        }
249
        
250
        @Override
251
        public String getName() {
252
            String name = super.getName();
253
            return name == null ? "ComboBox.renderer" : name; // NOI18N
254
        }
255
        
256
    }
257
    
258
    private class MediatorListener implements ChangeListener {
220
    private class MediatorListener implements ChangeListener {
259
221
260
        public void stateChanged(ChangeEvent e) {
222
        public void stateChanged(ChangeEvent e) {
Lines 279-332 Link Here
279
        
241
        
280
    }
242
    }
281
    
243
    
282
    private static class EncodingModel extends DefaultComboBoxModel {
283
        
284
        public EncodingModel (String originalEncoding) {
285
            Charset defEnc = null;
286
            for (Charset c : Charset.availableCharsets().values()) {
287
                if (c.name().equals(originalEncoding)) {
288
                    defEnc = c;
289
                }
290
                addElement(c);
291
            }
292
            if (defEnc == null) {
293
                //Create artificial Charset to keep the original value
294
                //May happen when the project was set up on the platform
295
                //which supports more encodings
296
                try {
297
                    defEnc = new UnknownCharset (originalEncoding);
298
                    addElement(defEnc);
299
                } catch (IllegalCharsetNameException e) {
300
                    //The source.encoding property is completely broken
301
                    Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding);
302
                }
303
            }
304
            if (defEnc == null) {
305
                defEnc = Charset.defaultCharset();
306
            }
307
            setSelectedItem(defEnc);
308
        }
309
    }
310
    
311
    private static class UnknownCharset extends Charset {
312
        
313
        UnknownCharset (String name) {
314
            super (name, new String[0]);
315
        }
316
    
317
        public boolean contains(Charset c) {
318
            throw new UnsupportedOperationException();
319
        }
320
321
        public CharsetDecoder newDecoder() {
322
            throw new UnsupportedOperationException();
323
        }
324
325
        public CharsetEncoder newEncoder() {
326
            throw new UnsupportedOperationException();
327
        }
328
}
329
    
330
    private static class ResizableRowHeightTable extends JTable {
244
    private static class ResizableRowHeightTable extends JTable {
331
245
332
        private boolean needResize = true;
246
        private boolean needResize = true;
(-)a/erlang.project/manifest.mf (-1 / +1 lines)
Lines 2-6 Link Here
2
OpenIDE-Module: org.netbeans.modules.erlang.project
2
OpenIDE-Module: org.netbeans.modules.erlang.project
3
OpenIDE-Module-Layer: org/netbeans/modules/erlang/project/ui/resources/layer.xml
3
OpenIDE-Module-Layer: org/netbeans/modules/erlang/project/ui/resources/layer.xml
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/erlang/project/Bundle.properties
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/erlang/project/Bundle.properties
5
OpenIDE-Module-Specification-Version: 0.17.0
5
OpenIDE-Module-Specification-Version: 0.18.0
6
6
(-)a/erlang.project/nbproject/project.xml (-1 / +1 lines)
Lines 116-122 Link Here
116
                    <compile-dependency/>
116
                    <compile-dependency/>
117
                    <run-dependency>
117
                    <run-dependency>
118
                        <release-version>1</release-version>
118
                        <release-version>1</release-version>
119
                        <specification-version>1.31</specification-version>
119
                        <specification-version>1.42</specification-version>
120
                    </run-dependency>
120
                    </run-dependency>
121
                </dependency>
121
                </dependency>
122
                <dependency>
122
                <dependency>
(-)a/erlang.project/src/org/netbeans/modules/erlang/project/ui/customizer/CustomizerSources.java (-89 / +3 lines)
Lines 41-61 Link Here
41
41
42
package org.netbeans.modules.erlang.project.ui.customizer;
42
package org.netbeans.modules.erlang.project.ui.customizer;
43
43
44
import java.awt.Component;
45
import java.awt.event.ActionEvent;
44
import java.awt.event.ActionEvent;
46
import java.awt.event.ActionListener;
45
import java.awt.event.ActionListener;
47
import java.nio.charset.CharsetDecoder;
48
import java.nio.charset.CharsetEncoder;
49
import java.nio.charset.IllegalCharsetNameException;
50
import java.util.logging.Logger;
51
import javax.swing.DefaultComboBoxModel;
52
import javax.swing.JLabel;
53
import javax.swing.JList;
54
import javax.swing.ListCellRenderer;
55
import javax.swing.plaf.UIResource;
56
import java.io.File;
46
import java.io.File;
57
import java.nio.charset.Charset;
47
import java.nio.charset.Charset;
58
import org.netbeans.modules.erlang.project.RubyProject;
48
import org.netbeans.modules.erlang.project.RubyProject;
49
import org.netbeans.spi.project.ui.support.ProjectCustomizer;
59
import org.openide.filesystems.FileObject;
50
import org.openide.filesystems.FileObject;
60
import org.openide.filesystems.FileUtil;
51
import org.openide.filesystems.FileUtil;
61
import org.openide.util.HelpCtx;
52
import org.openide.util.HelpCtx;
Lines 111-118 Link Here
111
            this.originalEncoding = Charset.defaultCharset().name();
102
            this.originalEncoding = Charset.defaultCharset().name();
112
        }
103
        }
113
        
104
        
114
        this.encoding.setModel(new EncodingModel(this.originalEncoding));
105
        this.encoding.setModel(ProjectCustomizer.encodingModel(this.originalEncoding));
115
        this.encoding.setRenderer(new EncodingRenderer());
106
        this.encoding.setRenderer(ProjectCustomizer.encodingRenderer());
116
        
107
        
117
108
118
        this.encoding.addActionListener(new ActionListener () {
109
        this.encoding.addActionListener(new ActionListener () {
Lines 138-220 Link Here
138
        return new HelpCtx (CustomizerSources.class);
129
        return new HelpCtx (CustomizerSources.class);
139
    }
130
    }
140
131
141
    private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource {
142
        
143
        public EncodingRenderer() {
144
            setOpaque(true);
145
        }
146
        
147
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
148
            assert value instanceof Charset;
149
            setName("ComboBox.listRenderer"); // NOI18N
150
            setText(((Charset) value).displayName());
151
            setIcon(null);
152
            if (isSelected) {
153
                setBackground(list.getSelectionBackground());
154
                setForeground(list.getSelectionForeground());             
155
            } else {
156
                setBackground(list.getBackground());
157
                setForeground(list.getForeground());
158
            }
159
            return this;
160
        }
161
        
162
        @Override
163
        public String getName() {
164
            String name = super.getName();
165
            return name == null ? "ComboBox.renderer" : name; // NOI18N
166
        }
167
        
168
    }
169
    
170
    private static class EncodingModel extends DefaultComboBoxModel {
171
        
172
        public EncodingModel (String originalEncoding) {
173
            Charset defEnc = null;
174
            for (Charset c : Charset.availableCharsets().values()) {
175
                if (c.name().equals(originalEncoding)) {
176
                    defEnc = c;
177
                }
178
                addElement(c);
179
            }
180
            if (defEnc == null) {
181
                //Create artificial Charset to keep the original value
182
                //May happen when the project was set up on the platform
183
                //which supports more encodings
184
                try {
185
                    defEnc = new UnknownCharset (originalEncoding);
186
                    addElement(defEnc);
187
                } catch (IllegalCharsetNameException e) {
188
                    //The source.encoding property is completely broken
189
                    Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding);
190
                }
191
            }
192
            if (defEnc == null) {
193
                defEnc = Charset.defaultCharset();
194
            }
195
            setSelectedItem(defEnc);
196
        }
197
    }
198
    
199
    private static class UnknownCharset extends Charset {
200
        
201
        UnknownCharset (String name) {
202
            super (name, new String[0]);
203
        }
204
    
205
        public boolean contains(Charset c) {
206
            throw new UnsupportedOperationException();
207
        }
208
209
        public CharsetDecoder newDecoder() {
210
            throw new UnsupportedOperationException();
211
        }
212
213
        public CharsetEncoder newEncoder() {
214
            throw new UnsupportedOperationException();
215
        }
216
}
217
    
218
    /** This method is called from within the constructor to
132
    /** This method is called from within the constructor to
219
     * initialize the form.
133
     * initialize the form.
220
     * WARNING: Do NOT modify this code. The content of this method is
134
     * WARNING: Do NOT modify this code. The content of this method is
(-)a/scala.project/manifest.mf (-1 / +1 lines)
Lines 3-7 Link Here
3
OpenIDE-Module: org.netbeans.modules.scala.project
3
OpenIDE-Module: org.netbeans.modules.scala.project
4
OpenIDE-Module-Layer: org/netbeans/modules/scala/project/ui/resources/layer.xml
4
OpenIDE-Module-Layer: org/netbeans/modules/scala/project/ui/resources/layer.xml
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/scala/project/Bundle.properties
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/scala/project/Bundle.properties
6
OpenIDE-Module-Specification-Version: 1.4
6
OpenIDE-Module-Specification-Version: 1.5
7
7
(-)a/scala.project/nbproject/project.xml (-1 / +1 lines)
Lines 225-231 Link Here
225
                    <compile-dependency/>
225
                    <compile-dependency/>
226
                    <run-dependency>
226
                    <run-dependency>
227
                        <release-version>1</release-version>
227
                        <release-version>1</release-version>
228
                        <specification-version>1.31</specification-version>
228
                        <specification-version>1.42</specification-version>
229
                    </run-dependency>
229
                    </run-dependency>
230
                </dependency>
230
                </dependency>
231
                <dependency>
231
                <dependency>
(-)a/scala.project/src/org/netbeans/modules/scala/project/ui/customizer/CustomizerSources.java (-90 / +3 lines)
Lines 41-47 Link Here
41
41
42
package org.netbeans.modules.scala.project.ui.customizer;
42
package org.netbeans.modules.scala.project.ui.customizer;
43
43
44
import java.awt.Component;
45
import java.awt.Font;
44
import java.awt.Font;
46
import java.awt.Graphics;
45
import java.awt.Graphics;
47
import java.awt.event.ActionEvent;
46
import java.awt.event.ActionEvent;
Lines 50-74 Link Here
50
import java.awt.event.ComponentEvent;
49
import java.awt.event.ComponentEvent;
51
import java.io.File;
50
import java.io.File;
52
import java.nio.charset.Charset;
51
import java.nio.charset.Charset;
53
import java.nio.charset.CharsetDecoder;
54
import java.nio.charset.CharsetEncoder;
55
import java.nio.charset.IllegalCharsetNameException;
56
import java.util.logging.Logger;
57
import javax.swing.DefaultCellEditor;
52
import javax.swing.DefaultCellEditor;
58
import javax.swing.DefaultComboBoxModel;
59
import javax.swing.JLabel;
60
import javax.swing.JList;
61
import javax.swing.JTable;
53
import javax.swing.JTable;
62
import javax.swing.JTextField;
54
import javax.swing.JTextField;
63
import javax.swing.ListCellRenderer;
64
import javax.swing.ListSelectionModel;
55
import javax.swing.ListSelectionModel;
65
import javax.swing.UIManager;
56
import javax.swing.UIManager;
66
import javax.swing.event.ListDataEvent;
57
import javax.swing.event.ListDataEvent;
67
import javax.swing.event.ListDataListener;
58
import javax.swing.event.ListDataListener;
68
import javax.swing.plaf.UIResource;
69
import javax.swing.table.TableColumn;
59
import javax.swing.table.TableColumn;
70
import javax.swing.table.TableModel;
60
import javax.swing.table.TableModel;
71
import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer;
61
import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer;
62
import org.netbeans.spi.project.ui.support.ProjectCustomizer;
72
import org.openide.DialogDescriptor;
63
import org.openide.DialogDescriptor;
73
import org.openide.DialogDisplayer;
64
import org.openide.DialogDisplayer;
74
import org.openide.NotifyDescriptor;
65
import org.openide.NotifyDescriptor;
Lines 149-156 Link Here
149
            this.originalEncoding = Charset.defaultCharset().name();
140
            this.originalEncoding = Charset.defaultCharset().name();
150
        }
141
        }
151
        
142
        
152
        this.encoding.setModel(new EncodingModel(this.originalEncoding));
143
        this.encoding.setModel(ProjectCustomizer.encodingModel(this.originalEncoding));
153
        this.encoding.setRenderer(new EncodingRenderer());
144
        this.encoding.setRenderer(ProjectCustomizer.encodingRenderer());
154
        final String lafid = UIManager.getLookAndFeel().getID();
145
        final String lafid = UIManager.getLookAndFeel().getID();
155
        if (!"Aqua".equals(lafid)) { //NOI18N
146
        if (!"Aqua".equals(lafid)) { //NOI18N
156
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
147
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
Lines 240-323 Link Here
240
        this.sourceLevel.setEnabled(sourceLevel.getItemCount()>0);
231
        this.sourceLevel.setEnabled(sourceLevel.getItemCount()>0);
241
    }
232
    }
242
    
233
    
243
    
244
    private static class EncodingRenderer extends JLabel implements ListCellRenderer, UIResource {
245
        
246
        public EncodingRenderer() {
247
            setOpaque(true);
248
        }
249
        
250
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
251
            assert value instanceof Charset;
252
            setName("ComboBox.listRenderer"); // NOI18N
253
            setText(((Charset) value).displayName());
254
            setIcon(null);
255
            if (isSelected) {
256
                setBackground(list.getSelectionBackground());
257
                setForeground(list.getSelectionForeground());             
258
            } else {
259
                setBackground(list.getBackground());
260
                setForeground(list.getForeground());
261
            }
262
            return this;
263
        }
264
        
265
        @Override
266
        public String getName() {
267
            String name = super.getName();
268
            return name == null ? "ComboBox.renderer" : name; // NOI18N
269
        }
270
        
271
    }
272
    
273
    private static class EncodingModel extends DefaultComboBoxModel {
274
        
275
        public EncodingModel (String originalEncoding) {
276
            Charset defEnc = null;
277
            for (Charset c : Charset.availableCharsets().values()) {
278
                if (c.name().equals(originalEncoding)) {
279
                    defEnc = c;
280
                }
281
                addElement(c);
282
            }
283
            if (defEnc == null) {
284
                //Create artificial Charset to keep the original value
285
                //May happen when the project was set up on the platform
286
                //which supports more encodings
287
                try {
288
                    defEnc = new UnknownCharset (originalEncoding);
289
                    addElement(defEnc);
290
                } catch (IllegalCharsetNameException e) {
291
                    //The source.encoding property is completely broken
292
                    Logger.getLogger(this.getClass().getName()).info("IllegalCharsetName: " + originalEncoding);
293
                }
294
            }
295
            if (defEnc == null) {
296
                defEnc = Charset.defaultCharset();
297
            }
298
            setSelectedItem(defEnc);
299
        }
300
    }
301
    
302
    private static class UnknownCharset extends Charset {
303
        
304
        UnknownCharset (String name) {
305
            super (name, new String[0]);
306
        }
307
    
308
        public boolean contains(Charset c) {
309
            throw new UnsupportedOperationException();
310
        }
311
312
        public CharsetDecoder newDecoder() {
313
            throw new UnsupportedOperationException();
314
        }
315
316
        public CharsetEncoder newEncoder() {
317
            throw new UnsupportedOperationException();
318
        }
319
}
320
    
321
    private static class ResizableRowHeightTable extends JTable {
234
    private static class ResizableRowHeightTable extends JTable {
322
235
323
        private boolean needResize = true;
236
        private boolean needResize = true;

Return to bug 182711