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 65626
Collapse All | Expand All

(-)OptionsPanel.java (-26 / +114 lines)
Lines 21-27 Link Here
21
import java.awt.Component;
21
import java.awt.Component;
22
import java.awt.Dimension;
22
import java.awt.Dimension;
23
import java.awt.Font;
23
import java.awt.Font;
24
import java.awt.GridLayout;
24
import java.awt.GridBagConstraints;
25
import java.awt.GridBagLayout;
25
import java.awt.Insets;
26
import java.awt.Insets;
26
import java.awt.BorderLayout;
27
import java.awt.BorderLayout;
27
import java.awt.Font;
28
import java.awt.Font;
Lines 47-52 Link Here
47
import javax.sound.sampled.Line;
48
import javax.sound.sampled.Line;
48
import javax.swing.AbstractAction;
49
import javax.swing.AbstractAction;
49
import javax.swing.AbstractButton;
50
import javax.swing.AbstractButton;
51
import javax.swing.BorderFactory;
50
import javax.swing.ButtonGroup;
52
import javax.swing.ButtonGroup;
51
53
52
import javax.swing.DefaultListCellRenderer;
54
import javax.swing.DefaultListCellRenderer;
Lines 61-66 Link Here
61
import javax.swing.JScrollPane;
63
import javax.swing.JScrollPane;
62
import javax.swing.JToggleButton;
64
import javax.swing.JToggleButton;
63
import javax.swing.KeyStroke;
65
import javax.swing.KeyStroke;
66
import javax.swing.UIManager;
64
import javax.swing.border.BevelBorder;
67
import javax.swing.border.BevelBorder;
65
import javax.swing.border.CompoundBorder;
68
import javax.swing.border.CompoundBorder;
66
import javax.swing.border.EmptyBorder;
69
import javax.swing.border.EmptyBorder;
Lines 71-76 Link Here
71
import org.netbeans.api.progress.ProgressHandle;
74
import org.netbeans.api.progress.ProgressHandle;
72
import org.netbeans.api.progress.ProgressHandleFactory;
75
import org.netbeans.api.progress.ProgressHandleFactory;
73
import org.netbeans.modules.options.ui.LoweredBorder;
76
import org.netbeans.modules.options.ui.LoweredBorder;
77
import org.netbeans.modules.options.ui.VariableBorder;
74
import org.netbeans.spi.options.OptionsCategory;
78
import org.netbeans.spi.options.OptionsCategory;
75
import org.netbeans.spi.options.OptionsCategory.PanelController;
79
import org.netbeans.spi.options.OptionsCategory.PanelController;
76
import org.openide.ErrorManager;
80
import org.openide.ErrorManager;
Lines 116-121 Link Here
116
    private Color                   iconViewBorder = new Color (127, 157, 185);
120
    private Color                   iconViewBorder = new Color (127, 157, 185);
117
    private ControllerListener      coltrollerListener = new ControllerListener ();
121
    private ControllerListener      coltrollerListener = new ControllerListener ();
118
    
122
    
123
    private final boolean           isMac = UIManager.getLookAndFeel().getID().equals("Aqua");
124
    private final Color             selectedMac = new Color(221, 221, 221);
125
    private final Color             selectedBMac = new Color(183, 183, 183);
126
    private final Color             borderMac = new Color(141, 141, 141);
127
    private final Font              labelFontMac = new Font("Lucida Grande", 0, 10);
128
    
119
    
129
    
120
    private static String loc (String key) {
130
    private static String loc (String key) {
121
        return NbBundle.getMessage (OptionsPanel.class, key);
131
        return NbBundle.getMessage (OptionsPanel.class, key);
Lines 198-209 Link Here
198
208
199
        // icon view
209
        // icon view
200
        pCategories = new JPanel (new BorderLayout ());
210
        pCategories = new JPanel (new BorderLayout ());
201
        JPanel pCategories2 = new JPanel (new GridLayout (
211
        JPanel pCategories2 = new JPanel (new GridBagLayout());
202
            optionCategories.size (),
203
            1, 0, 0
204
        ));
205
        pCategories.add ("North", pCategories2);
212
        pCategories.add ("North", pCategories2);
206
        pCategories.setBorder (new LineBorder (iconViewBorder)); 
213
        if(isMac) {
214
            pCategories.setBorder(new CompoundBorder (
215
                    new VariableBorder(null, null, borderMac, null),
216
                    BorderFactory.createEmptyBorder(0, 4, 0, 4)
217
                ));
218
        } else {
219
            pCategories.setBorder(new LineBorder (iconViewBorder));
220
        }
207
        pCategories.setBackground (Color.white);
221
        pCategories.setBackground (Color.white);
208
        pCategories2.setBackground (Color.white);
222
        pCategories2.setBackground (Color.white);
209
        pCategories2.setBorder (null);
223
        pCategories2.setBorder (null);
Lines 223-228 Link Here
223
            "DOWN"
237
            "DOWN"
224
        );
238
        );
225
        getActionMap ().put ("DOWN", new DownAction ());
239
        getActionMap ().put ("DOWN", new DownAction ());
240
        
241
        GridBagConstraints gbc = new GridBagConstraints();
242
        gbc.anchor = GridBagConstraints.NORTHWEST;
243
        if (isMac) {
244
            gbc.fill = GridBagConstraints.VERTICAL;
245
            gbc.weightx = 0.0;
246
            gbc.weighty = 1.0;
247
        } else {
248
            gbc.fill = GridBagConstraints.HORIZONTAL;
249
            gbc.weightx = 1.0;
250
            gbc.weighty = 0.0;
251
        }
252
        
226
        for (i = 0; i < k; i++) {
253
        for (i = 0; i < k; i++) {
227
            final OptionsCategory ocp = (OptionsCategory) 
254
            final OptionsCategory ocp = (OptionsCategory) 
228
                optionCategories.get (i);
255
                optionCategories.get (i);
Lines 233-251 Link Here
233
                (mnemonic, KeyEvent.ALT_MASK);
260
                (mnemonic, KeyEvent.ALT_MASK);
234
            inputMap.put (keyStroke, b);
261
            inputMap.put (keyStroke, b);
235
            getActionMap ().put (b, new SelectAction (i));
262
            getActionMap ().put (b, new SelectAction (i));
236
            pCategories2.add (b);
263
            
264
            if (isMac) {
265
                gbc.gridx = i;
266
                gbc.gridy = 0;
267
            } else {
268
                gbc.gridx = 0;
269
                gbc.gridy = i;
270
            }
271
            
272
            pCategories2.add (b, gbc);
237
        }
273
        }
238
        
274
        
275
        /* i don't know a better workaround */
276
        gbc.fill = GridBagConstraints.BOTH;
277
        gbc.weightx = 1.0;
278
        gbc.weighty = 1.0;
279
        if (isMac) {
280
            gbc.gridx = gbc.gridx + 1;
281
            gbc.gridy = 0;
282
        } else {
283
            gbc.gridx = 0;
284
            gbc.gridy = gbc.gridy + 1;
285
        }
286
        pCategories2.add (new javax.swing.JLabel(""), gbc);
287
        
288
        
239
        // layout
289
        // layout
240
        FormLayout layout = new FormLayout(
290
        FormLayout layout;
241
            "p, 5dlu, p:g", // cols
291
        if (isMac) {
242
            "p, 5dlu, p:g");      // rows
292
            layout = new FormLayout(
293
                "p:g", // cols
294
                "p, 5dlu, p:g");      // rows
295
        } else {
296
            layout = new FormLayout(
297
                "p, 5dlu, p:g", // cols
298
                "p, 5dlu, p:g");      // rows
299
        }
243
        PanelBuilder builder = new PanelBuilder (layout, this);
300
        PanelBuilder builder = new PanelBuilder (layout, this);
244
        builder.setDefaultDialogBorder ();
301
        if (isMac) {
302
            pOptions.setBorder(new CompoundBorder (
303
                    new VariableBorder(null, null, borderMac, null),
304
                    BorderFactory.createEmptyBorder(0, 20, 5, 20)
305
                    ));
306
        } else {
307
            builder.setDefaultDialogBorder ();
308
        }
245
        CellConstraints cc = new CellConstraints ();
309
        CellConstraints cc = new CellConstraints ();
246
        builder.add (    pCategories, cc.xywh  (1, 1, 1, 3));
310
        if (isMac) {
247
        builder.add (    pTitle,       cc.xy    (3, 1));
311
            builder.add (    pCategories, cc.xy  (1, 1));
248
        builder.add (    pOptions,     cc.xy    (3, 3, "f,f"));
312
            builder.add (    pOptions,     cc.xy    (1, 3, "f,f"));
313
        } else {
314
            builder.add (    pCategories, cc.xywh  (1, 1, 1, 3));
315
            builder.add (    pTitle,       cc.xy    (3, 1));
316
            builder.add (    pOptions,     cc.xy    (3, 3, "f,f"));
317
        }
249
        
318
        
250
        if (k < 1) return;
319
        if (k < 1) return;
251
        OptionsCategory category = (OptionsCategory) optionCategories.get (0);
320
        OptionsCategory category = (OptionsCategory) optionCategories.get (0);
Lines 423-428 Link Here
423
                s
492
                s
424
            );
493
            );
425
            setForeground (Color.black);
494
            setForeground (Color.black);
495
            
496
            if (isMac) {
497
                setFont(labelFontMac);
498
                setIconTextGap(2);
499
            }
500
            
426
            if (index == currentCategory)
501
            if (index == currentCategory)
427
                setSelected ();
502
                setSelected ();
428
            else
503
            else
Lines 430-448 Link Here
430
        }
505
        }
431
        
506
        
432
        void setNormal () {
507
        void setNormal () {
433
            setBorder (new EmptyBorder (2, 4, 2, 4));
508
            if (isMac) {
509
                setBorder (new EmptyBorder (5, 6, 3, 6));
510
            } else {
511
                setBorder (new EmptyBorder (2, 4, 2, 4));
512
            }
434
            setBackground (Color.white);
513
            setBackground (Color.white);
435
        }
514
        }
436
        
515
        
437
        void setSelected () {
516
        void setSelected () {
438
            setBorder (new CompoundBorder (
517
            if (isMac) {
439
                new CompoundBorder (
518
                setBorder(new CompoundBorder (
440
                    new LineBorder (Color.white),
519
                        new VariableBorder(null, selectedBMac, null, selectedBMac),
441
                    new LineBorder (selectedB)
520
                        BorderFactory.createEmptyBorder(5, 5, 3, 5)
442
                ),
521
                        ));
443
                new EmptyBorder (0, 2, 0, 2)
522
                setBackground (selectedMac);
444
            ));
523
            } else {
445
            setBackground (selected);
524
                setBorder (new CompoundBorder (
525
                    new CompoundBorder (
526
                        new LineBorder (Color.white),
527
                        new LineBorder (selectedB)
528
                    ),
529
                    new EmptyBorder (0, 2, 0, 2)
530
                ));
531
                setBackground (selected);
532
            }
446
        }
533
        }
447
        
534
        
448
        void setHighlighted () {
535
        void setHighlighted () {
Lines 462-480 Link Here
462
        }
549
        }
463
550
464
        public void mousePressed (MouseEvent e) {
551
        public void mousePressed (MouseEvent e) {
465
            setSelected ();
552
            if (!isMac)
553
                setSelected ();
466
        }
554
        }
467
555
468
        public void mouseReleased (MouseEvent e) {
556
        public void mouseReleased (MouseEvent e) {
469
        }
557
        }
470
558
471
        public void mouseEntered (MouseEvent e) {
559
        public void mouseEntered (MouseEvent e) {
472
            if (index != currentCategory)
560
            if (index != currentCategory && !isMac)
473
                setHighlighted ();
561
                setHighlighted ();
474
        }
562
        }
475
563
476
        public void mouseExited (MouseEvent e) {
564
        public void mouseExited (MouseEvent e) {
477
            if (index != currentCategory)
565
            if (index != currentCategory && !isMac)
478
                setNormal ();
566
                setNormal ();
479
        }
567
        }
480
    }
568
    }

Return to bug 65626