summaryrefslogtreecommitdiff
path: root/java/gjt/test/FontDialogTest.java
blob: d0b535c27f9591516a419831d70ed0dc586a4447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package gjt.test;

import java.awt.*;

import gjt.FontDialog;
import gjt.DialogClient;
import gjt.Util;

/**
 * Activating the button causes the FontDialog to be displayed.  
 * Selecting a font from the FontDialog causes the button to 
 * use the selected font.<p>
 *
 * This unit test overrides FontDialog to reset the labels 
 * displayed in the buttons, and to reset the list of font 
 * sizes displayed.  See FontDialog for a discussion of the 
 * overridden methods.<p>
 *
 *<em>Note:  The FontDialog takes forever to come up in 
 * Netscape.</em>
 *
 * @version 1.0, Apr 25, 1996
 * @author  David Geary
 * @see     gjt.test.UnitTest
 * @see     gjt.Util
 * @see     gjt.FontDialog
 * @see     gjt.DialogClient
 */
class LotsOfSizesFontDialog extends FontDialog {
    private static String _defaultSizes[] = 
        { "8", "10", "12", "14", "16", 
          "18", "20", "22", "24",
          "26", "28", "30", "32", "34",
          "36", "38", "40", "42", "44",
          "46", "48", "50", "52", "54",
          "56", "58", "60", "62", "64",
          "66", "68", "70", "72", "74",
          "76", "78", "80", "82", "84",
          "86", "88", "90", "92", "94",
          "96", "98", "100" };

    public LotsOfSizesFontDialog(Frame        frame, 
                                 DialogClient client, 
                                 Font         font) {
        super(frame, client, font, true);
    }
    public String getPreviewButtonLabel() { 
        return "Preview Selected Font";
    }
    public String getOkButtonLabel     () { 
        return "I'll Take It";         
    }
    public String getCancelButtonLabel () { 
        return "Nevermind";            
    }
    public String[] getFontSizes         () { 
        return _defaultSizes;          
    }
}

public class FontDialogTest extends UnitTest {
    public String title() { return "Font Dialog Test"; }
    public Panel centerPanel() { 
        return new FontDialogTestPanel(); 
    }
}

class FontDialogTestPanel extends    Panel 
                          implements DialogClient {
    private Button fontButton;

    public FontDialogTestPanel() {
        setLayout(new BorderLayout());
        add("Center", fontButton = new Button("Fonts ..."));
    }
    public boolean handleEvent(Event event) {
        if(event.id == Event.ACTION_EVENT) {
            LotsOfSizesFontDialog d;
            d = new LotsOfSizesFontDialog(Util.getFrame(this), 
                                          this,
                                          fontButton.getFont());
            d.show();
        }
        return true;
    }
    public void dialogDismissed(Dialog d) {
        FontDialog fontDialog   = (FontDialog)d;
        Font       fontSelected = fontDialog.getFontSelected();

        if(fontSelected != null)
            fontButton.setFont(fontSelected);

        fontButton.requestFocus();
    }
}