@Override public JComponent createComponent() { UISettings settings = UISettings.getInstance(); initComponent(); DefaultComboBoxModel aModel = new DefaultComboBoxModel( UIUtil.getValidFontNames(Registry.is("ide.settings.appearance.font.family.only"))); myComponent.myFontCombo.setModel(aModel); myComponent.myFontSizeCombo.setModel(new DefaultComboBoxModel(UIUtil.getStandardFontSizes())); myComponent.myPresentationModeFontSize.setModel( new DefaultComboBoxModel(UIUtil.getStandardFontSizes())); myComponent.myFontSizeCombo.setEditable(true); myComponent.myPresentationModeFontSize.setEditable(true); myComponent.myLafComboBox.setModel( new DefaultComboBoxModel(LafManager.getInstance().getInstalledLookAndFeels())); myComponent.myLafComboBox.setRenderer(new LafComboBoxRenderer()); myComponent.myAntialiasingInIDE.setModel(new DefaultComboBoxModel(AntialiasingType.values())); myComponent.myAntialiasingInEditor.setModel( new DefaultComboBoxModel(AntialiasingType.values())); myComponent.myAntialiasingInIDE.setSelectedItem(settings.IDE_AA_TYPE); myComponent.myAntialiasingInEditor.setSelectedItem(settings.EDITOR_AA_TYPE); myComponent.myAntialiasingInIDE.setRenderer(ourListCellRenderer); myComponent.myAntialiasingInEditor.setRenderer(ourListCellRenderer); Dictionary<Integer, JComponent> delayDictionary = new Hashtable<Integer, JComponent>(); delayDictionary.put(new Integer(0), new JLabel("0")); delayDictionary.put(new Integer(1200), new JLabel("1200")); // delayDictionary.put(new Integer(2400), new JLabel("2400")); myComponent.myInitialTooltipDelaySlider.setLabelTable(delayDictionary); UIUtil.setSliderIsFilled(myComponent.myInitialTooltipDelaySlider, Boolean.TRUE); myComponent.myInitialTooltipDelaySlider.setMinimum(0); myComponent.myInitialTooltipDelaySlider.setMaximum(1200); myComponent.myInitialTooltipDelaySlider.setPaintLabels(true); myComponent.myInitialTooltipDelaySlider.setPaintTicks(true); myComponent.myInitialTooltipDelaySlider.setPaintTrack(true); myComponent.myInitialTooltipDelaySlider.setMajorTickSpacing(1200); myComponent.myInitialTooltipDelaySlider.setMinorTickSpacing(100); myComponent.myEnableAlphaModeCheckBox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { boolean state = myComponent.myEnableAlphaModeCheckBox.isSelected(); myComponent.myAlphaModeDelayTextField.setEnabled(state); myComponent.myAlphaModeRatioSlider.setEnabled(state); } }); myComponent.myAlphaModeRatioSlider.setSize(100, 50); @SuppressWarnings({"UseOfObsoleteCollectionType"}) Dictionary<Integer, JComponent> dictionary = new Hashtable<Integer, JComponent>(); dictionary.put(new Integer(0), new JLabel("0%")); dictionary.put(new Integer(50), new JLabel("50%")); dictionary.put(new Integer(100), new JLabel("100%")); myComponent.myAlphaModeRatioSlider.setLabelTable(dictionary); UIUtil.setSliderIsFilled(myComponent.myAlphaModeRatioSlider, Boolean.TRUE); myComponent.myAlphaModeRatioSlider.setPaintLabels(true); myComponent.myAlphaModeRatioSlider.setPaintTicks(true); myComponent.myAlphaModeRatioSlider.setPaintTrack(true); myComponent.myAlphaModeRatioSlider.setMajorTickSpacing(50); myComponent.myAlphaModeRatioSlider.setMinorTickSpacing(10); myComponent.myAlphaModeRatioSlider.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { myComponent.myAlphaModeRatioSlider.setToolTipText( myComponent.myAlphaModeRatioSlider.getValue() + "%"); } }); myComponent.myTransparencyPanel.setVisible( WindowManagerEx.getInstanceEx().isAlphaModeSupported()); return myComponent.myPanel; }
public void loadState(UISettings object) { XmlSerializerUtil.copyBean(object, this); // Check tab placement in editor if (EDITOR_TAB_PLACEMENT != TABS_NONE && EDITOR_TAB_PLACEMENT != SwingConstants.TOP && EDITOR_TAB_PLACEMENT != SwingConstants.LEFT && EDITOR_TAB_PLACEMENT != SwingConstants.BOTTOM && EDITOR_TAB_PLACEMENT != SwingConstants.RIGHT) { EDITOR_TAB_PLACEMENT = SwingConstants.TOP; } // Check that alpha delay and ratio are valid if (ALPHA_MODE_DELAY < 0) { ALPHA_MODE_DELAY = 1500; } if (ALPHA_MODE_RATIO < 0.0f || ALPHA_MODE_RATIO > 1.0f) { ALPHA_MODE_RATIO = 0.5f; } setSystemFontFaceAndSize(); // 1. Sometimes system font cannot display standard ASCII symbols. If so we have // find any other suitable font withing "preferred" fonts first. boolean fontIsValid = isValidFont(new Font(FONT_FACE, Font.PLAIN, FONT_SIZE)); if (!fontIsValid) { @NonNls final String[] preferredFonts = {"dialog", "Arial", "Tahoma"}; for (String preferredFont : preferredFonts) { if (isValidFont(new Font(preferredFont, Font.PLAIN, FONT_SIZE))) { FONT_FACE = preferredFont; fontIsValid = true; break; } } // 2. If all preferred fonts are not valid in current environment // we have to find first valid font (if any) if (!fontIsValid) { String[] fontNames = UIUtil.getValidFontNames(false); if (fontNames.length > 0) { FONT_FACE = fontNames[0]; } } } if (MAX_CLIPBOARD_CONTENTS <= 0) { MAX_CLIPBOARD_CONTENTS = 5; } fireUISettingsChanged(); }