diff --git a/samples/applicationConfigurable/.idea/ant.xml b/samples/applicationConfigurable/.idea/ant.xml new file mode 100644 index 000000000000..2581ca3fe84c --- /dev/null +++ b/samples/applicationConfigurable/.idea/ant.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/samples/applicationConfigurable/.idea/compiler.xml b/samples/applicationConfigurable/.idea/compiler.xml new file mode 100644 index 000000000000..97c9ca5c8b0a --- /dev/null +++ b/samples/applicationConfigurable/.idea/compiler.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/samples/applicationConfigurable/.idea/copyright/profiles_settings.xml b/samples/applicationConfigurable/.idea/copyright/profiles_settings.xml new file mode 100644 index 000000000000..3572571ad83c --- /dev/null +++ b/samples/applicationConfigurable/.idea/copyright/profiles_settings.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/samples/applicationConfigurable/.idea/encodings.xml b/samples/applicationConfigurable/.idea/encodings.xml new file mode 100644 index 000000000000..e206d70d8595 --- /dev/null +++ b/samples/applicationConfigurable/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/samples/applicationConfigurable/.idea/misc.xml b/samples/applicationConfigurable/.idea/misc.xml new file mode 100644 index 000000000000..47c15629633a --- /dev/null +++ b/samples/applicationConfigurable/.idea/misc.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + diff --git a/samples/applicationConfigurable/.idea/modules.xml b/samples/applicationConfigurable/.idea/modules.xml new file mode 100644 index 000000000000..c1ce2c1e48e4 --- /dev/null +++ b/samples/applicationConfigurable/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/samples/applicationConfigurable/.idea/uiDesigner.xml b/samples/applicationConfigurable/.idea/uiDesigner.xml new file mode 100644 index 000000000000..3b0002030884 --- /dev/null +++ b/samples/applicationConfigurable/.idea/uiDesigner.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/applicationConfigurable/.idea/vcs.xml b/samples/applicationConfigurable/.idea/vcs.xml new file mode 100644 index 000000000000..def6a6a18457 --- /dev/null +++ b/samples/applicationConfigurable/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/samples/applicationConfigurable/META-INF/plugin.xml b/samples/applicationConfigurable/META-INF/plugin.xml new file mode 100644 index 000000000000..09db9b20e722 --- /dev/null +++ b/samples/applicationConfigurable/META-INF/plugin.xml @@ -0,0 +1,23 @@ + + Plugin name here + short description of the plugin + 1.0 + YourCompany + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/applicationConfigurable/applicationConfigurable.iml b/samples/applicationConfigurable/applicationConfigurable.iml new file mode 100644 index 000000000000..6bada6d4c479 --- /dev/null +++ b/samples/applicationConfigurable/applicationConfigurable.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/samples/applicationConfigurable/src/META-INF/plugin.xml b/samples/applicationConfigurable/src/META-INF/plugin.xml new file mode 100644 index 000000000000..b7a4e94d0b1e --- /dev/null +++ b/samples/applicationConfigurable/src/META-INF/plugin.xml @@ -0,0 +1,25 @@ + + MY_IDE_Settings + This sample plugin illustrates how to contribute to the applicationConfigurable extension point in the IDEA core. + + 1.0 + JetBrains + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/applicationConfigurable/src/MyPack/IDEdialog.form b/samples/applicationConfigurable/src/MyPack/IDEdialog.form new file mode 100644 index 000000000000..2d6d487e5130 --- /dev/null +++ b/samples/applicationConfigurable/src/MyPack/IDEdialog.form @@ -0,0 +1,83 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/applicationConfigurable/src/MyPack/IDEdialog.java b/samples/applicationConfigurable/src/MyPack/IDEdialog.java new file mode 100644 index 000000000000..25a3239adc42 --- /dev/null +++ b/samples/applicationConfigurable/src/MyPack/IDEdialog.java @@ -0,0 +1,77 @@ +package MyPack; + +import com.intellij.ide.ui.UISettings; +import com.intellij.util.ui.UIUtil; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class IDEdialog extends JDialog { + private JPanel contentPane; + private JPanel Name; + public JComboBox myFontCombo; + public JComboBox myFontSize; + public JLabel menuFontSettingsLabel; + public JButton ButtonRestoreDefaultFont; + private String Buffer; + + + public IDEdialog() { + setContentPane(contentPane); + setModal(true); + UISettings settings = UISettings.getInstance(); + myFontCombo.setModel(new DefaultComboBoxModel(UIUtil.getValidFontNames(false))); + myFontSize.setModel(new DefaultComboBoxModel(UIUtil.getStandardFontSizes())); + myFontCombo.setSelectedItem(settings.FONT_FACE); + myFontSize.setSelectedItem( String.valueOf(settings.FONT_SIZE)); + +// Configure the Set Default Font button. + + MyButtonListener actionListener = new MyButtonListener(); + actionListener.button=ButtonRestoreDefaultFont; + actionListener.myFontCombo= myFontCombo; + actionListener.myFontSize= myFontSize; + ButtonRestoreDefaultFont.addActionListener(actionListener); + + +// call onCancel() when cross is clicked + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent e) { + onCancel(); + } + }); + +// call onCancel() on ESCAPE + contentPane.registerKeyboardAction(new ActionListener() { + public void actionPerformed(ActionEvent e) { + onCancel(); + } + }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + } + + private void onOK() { +// add your code here + + + dispose(); + } + + + private void onCancel() { +// add your code here if necessary + dispose(); + } + + + + public static void main(String[] args) { + IDEdialog dialog = new IDEdialog(); + dialog.pack(); + dialog.setVisible(true); + System.exit(0); + } + + +} diff --git a/samples/applicationConfigurable/src/MyPack/ImagesConfigurable.png b/samples/applicationConfigurable/src/MyPack/ImagesConfigurable.png new file mode 100644 index 000000000000..c261ba3ffa9a Binary files /dev/null and b/samples/applicationConfigurable/src/MyPack/ImagesConfigurable.png differ diff --git a/samples/applicationConfigurable/src/MyPack/MyButtonListener.java b/samples/applicationConfigurable/src/MyPack/MyButtonListener.java new file mode 100644 index 000000000000..19db446f2de1 --- /dev/null +++ b/samples/applicationConfigurable/src/MyPack/MyButtonListener.java @@ -0,0 +1,44 @@ +package MyPack; + +import com.intellij.ide.ui.LafManager; +import com.intellij.ide.ui.UISettings; + +import javax.swing.*; +import javax.swing.plaf.ButtonUI; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Created by IntelliJ IDEA. + * User: Alexey.Chursin + * Date: Aug 7, 2010 + * Time: 9:36:45 PM + * To change this template use File | Settings | File Templates. + */ +public class MyButtonListener implements ActionListener { + + + public JButton button; + public JComboBox myFontCombo; + public JComboBox myFontSize; + + + public void actionPerformed(ActionEvent e) { + + UISettings settings = UISettings.getInstance(); + LafManager lafManager = LafManager.getInstance(); + settings.FONT_FACE="Segoe UI"; + settings.FONT_SIZE=12; + myFontCombo.setSelectedItem(settings.FONT_FACE); + myFontSize.setSelectedItem( String.valueOf(settings.FONT_SIZE)); + settings.fireUISettingsChanged(); + lafManager.updateUI(); + + + + + } + + } + diff --git a/samples/applicationConfigurable/src/MyPack/MyExtensConfigurable.java b/samples/applicationConfigurable/src/MyPack/MyExtensConfigurable.java new file mode 100644 index 000000000000..5208ca97ee88 --- /dev/null +++ b/samples/applicationConfigurable/src/MyPack/MyExtensConfigurable.java @@ -0,0 +1,74 @@ +package MyPack; + + +import com.intellij.ide.ui.LafManager; +import com.intellij.ide.ui.UISettings; +import com.intellij.openapi.options.Configurable; +import com.intellij.openapi.ui.Messages; + + +import javax.swing.*; +import java.awt.*; + +/** + * Created by IntelliJ IDEA. + * User: Alexey.Chursin + * Date: Jul 30, 2010 + * Time: 5:59:43 PM + * To change this template use File | Settings | File Templates. + */ +public class MyExtensConfigurable implements Configurable { + private JComponent myComponent; + private IDEdialog Mydialog; + + public String getDisplayName() { + return "Menu Font"; + } + + public boolean isModified() { + + + return true; + } + + public JComponent createComponent() { + Mydialog = new IDEdialog(); + myComponent= (JComponent) Mydialog.getComponent(0); + return myComponent ; + + } + + public Icon getIcon() { + return null; + + } + + public void apply() { + UISettings settings = UISettings.getInstance(); + LafManager lafManager = LafManager.getInstance(); + String _fontFace = (String)Mydialog.myFontCombo.getSelectedItem(); + String _fontSize_STR = (String)Mydialog.myFontSize.getSelectedItem(); + int _fontSize= Integer.parseInt(_fontSize_STR); + + if (_fontSize != settings.FONT_SIZE || !settings.FONT_FACE.equals(_fontFace)) { + settings.FONT_SIZE = _fontSize; + settings.FONT_FACE = _fontFace; + settings.fireUISettingsChanged(); + lafManager.updateUI(); + } + + } + + public void disposeUIResources() { + + } + + public String getHelpTopic() { + return "preferences.lookFeel"; + } + + public void reset() { + + } + +}