mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
+ Darcula menu item radio buttons
This commit is contained in:
@@ -51,6 +51,10 @@ MenuBar.darcula.borderShadowColor=282828
|
||||
CheckBoxMenuItemUI=com.intellij.ide.ui.laf.darcula.ui.DarculaCheckBoxMenuItemUI
|
||||
CheckBoxMenuItem.borderPainted=false
|
||||
|
||||
RadioButtonMenuItemUI=com.intellij.ide.ui.laf.darcula.ui.DarculaRadioButtonMenuItemUI
|
||||
RadioButtonMenuItem.borderPainted=false
|
||||
|
||||
|
||||
TabbedPaneUI=com.intellij.ide.ui.laf.darcula.ui.DarculaTabbedPaneUI
|
||||
TabbedPane.tabInsets=0,4,0,4
|
||||
TabbedPane.highlight=292b2d
|
||||
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.ui.laf.darcula.ui;
|
||||
|
||||
import com.intellij.openapi.ui.GraphicsConfig;
|
||||
import com.intellij.ui.ColorUtil;
|
||||
import com.intellij.ui.Gray;
|
||||
import sun.swing.MenuItemLayoutHelper;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class DarculaRadioButtonMenuItemUI extends DarculaMenuItemUIBase {
|
||||
@SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"})
|
||||
public static ComponentUI createUI(JComponent c) {
|
||||
return new DarculaRadioButtonMenuItemUI();
|
||||
}
|
||||
|
||||
protected String getPropertyPrefix() {
|
||||
return "RadioButtonMenuItem";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintCheckIcon(Graphics g2, MenuItemLayoutHelper lh, MenuItemLayoutHelper.LayoutResult lr, Color holdc, Color foreground) {
|
||||
Graphics2D g = (Graphics2D) g2;
|
||||
final GraphicsConfig config = new GraphicsConfig(g);
|
||||
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
g.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);
|
||||
|
||||
g.translate(lr.getCheckRect().x-1, lr.getCheckRect().y-1);
|
||||
|
||||
int rad = 5;
|
||||
|
||||
final int x = 0;
|
||||
final int y = 0;
|
||||
final int w = 13;
|
||||
final int h = 13;
|
||||
|
||||
g.translate(x, y);
|
||||
|
||||
//setup AA for lines
|
||||
Color bg = lh.getMenuItem().getBackground();
|
||||
g.setPaint(new GradientPaint(0, 0, ColorUtil.shift(bg, 1.5),
|
||||
0, 16, ColorUtil.shift(bg, 1.2)));
|
||||
|
||||
g.fillOval(0, 1, w - 1, h - 1);
|
||||
|
||||
g.setPaint(new GradientPaint(w / 2, 1, Gray._160.withAlpha(90), w / 2, h, Gray._100.withAlpha(90)));
|
||||
g.drawOval(0, 2, w - 1, h - 1);
|
||||
|
||||
g.setPaint(Gray._40.withAlpha(200));
|
||||
g.drawOval(0, 1, w - 1, h - 1);
|
||||
|
||||
if (lh.getMenuItem().isSelected()) {
|
||||
final boolean enabled = lh.getMenuItem().isEnabled();
|
||||
g.setColor(UIManager.getColor(enabled ? "RadioButton.darcula.selectionEnabledShadowColor" : "RadioButton.darcula.selectionDisabledShadowColor"));
|
||||
g.fillOval((w - rad)/2 , h/2 , rad, rad);
|
||||
g.setColor(UIManager.getColor(enabled ? "RadioButton.darcula.selectionEnabledColor" : "RadioButton.darcula.selectionDisabledColor"));
|
||||
g.fillOval((w - rad)/2 , h/2 - 1, rad, rad);
|
||||
}
|
||||
config.restore();
|
||||
g.translate(-x, -y);
|
||||
|
||||
|
||||
g.translate(-lr.getCheckRect().x+1, -lr.getCheckRect().y+1);
|
||||
config.restore();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user