The updated version of the applicationConfigurable sample plugin.
[idea/community.git] / samples / applicationConfigurable / src / fontConfigurable / MyExtensConfigurable.java
1 package fontConfigurable;
2
3
4 import com.intellij.ide.ui.LafManager;
5 import com.intellij.ide.ui.UISettings;
6 import com.intellij.openapi.options.Configurable;
7
8
9 import javax.swing.*;
10
11 /**
12  * Created by IntelliJ IDEA.
13  * User: Alexey.Chursin
14  * Date: Jul 30, 2010
15  * Time: 5:59:43 PM
16  */
17 public class MyExtensConfigurable implements Configurable {
18     private JComponent myComponent;
19     private IDEDialog myDialog;
20
21     public String getDisplayName() {
22         return "Menu Font";
23     }
24
25     public boolean isModified() {
26
27
28         return true;
29     }
30
31     public JComponent createComponent() {
32         myDialog = new IDEDialog();
33         myComponent = (JComponent) myDialog.getComponent(0);
34         return myComponent;
35
36     }
37
38     public Icon getIcon() {
39         return null;
40
41     }
42
43     public void apply() {
44         UISettings settings = UISettings.getInstance();
45         LafManager lafManager = LafManager.getInstance();
46         String _fontFace = (String) myDialog.myFontCombo.getSelectedItem();
47         String _fontSize_STR = (String) myDialog.myFontSize.getSelectedItem();
48         int _fontSize = Integer.parseInt(_fontSize_STR);
49
50         if (_fontSize != settings.FONT_SIZE || !settings.FONT_FACE.equals(_fontFace)) {
51             settings.FONT_SIZE = _fontSize;
52             settings.FONT_FACE = _fontFace;
53             settings.fireUISettingsChanged();
54             lafManager.updateUI();
55         }
56
57     }
58
59     public void disposeUIResources() {
60
61     }
62
63     public String getHelpTopic() {
64         return "preferences.lookFeel";
65     }
66
67     public void reset() {
68
69     }
70
71 }