mirror of
https://github.com/processing/processing4.git
synced 2026-01-29 11:21:06 +01:00
good riddance
This commit is contained in:
@@ -1,179 +0,0 @@
|
||||
package processing.mode.java;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
import java.awt.*;
|
||||
|
||||
public class SillyTabbedPaneUI extends BasicTabbedPaneUI {
|
||||
static final int HIGH = 30;
|
||||
|
||||
// controls the ugly extra amount at the top
|
||||
static private final Insets NO_INSETS = new Insets(0, 0, 0, 0);
|
||||
|
||||
// private Font selectedFont;
|
||||
// private FontMetrics selectedMetrics;
|
||||
|
||||
// /**
|
||||
// * The color to use to fill in the background
|
||||
// */
|
||||
// private Color fillColor;
|
||||
|
||||
|
||||
static public ComponentUI createUI(JComponent c) {
|
||||
return new SillyTabbedPaneUI();
|
||||
}
|
||||
|
||||
|
||||
protected void installDefaults() {
|
||||
super.installDefaults();
|
||||
|
||||
tabAreaInsets.left = 4;
|
||||
selectedTabPadInsets = new Insets(0, 0, 0, 0);
|
||||
tabInsets = selectedTabPadInsets;
|
||||
|
||||
// tabPane.setBackground(Color.CYAN);
|
||||
// Color background = tabPane.getBackground();
|
||||
// fillColor = background.darker();
|
||||
|
||||
// selectedFont = tabPane.getFont().deriveFont(Font.BOLD);
|
||||
// selectedMetrics = tabPane.getFontMetrics(selectedFont);
|
||||
}
|
||||
|
||||
|
||||
public int getTabRunCount(JTabbedPane pane) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
protected Insets getContentBorderInsets(int tabPlacement) {
|
||||
return NO_INSETS;
|
||||
}
|
||||
|
||||
|
||||
protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight) {
|
||||
return HIGH;
|
||||
// int vHeight = fontHeight;
|
||||
// if (vHeight % 2 > 0) {
|
||||
// vHeight++;
|
||||
// }
|
||||
// return vHeight;
|
||||
}
|
||||
|
||||
|
||||
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics) {
|
||||
return super.calculateTabWidth(tabPlacement, tabIndex, metrics) + metrics.getHeight();
|
||||
}
|
||||
|
||||
|
||||
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex,
|
||||
int x, int y, int w, int h, boolean isSelected) {
|
||||
g.setColor(isSelected ? Color.RED : Color.ORANGE);
|
||||
g.fillRect(x, y, w, h);
|
||||
/*
|
||||
Polygon shape = new Polygon();
|
||||
|
||||
shape.addPoint(x, y + h);
|
||||
shape.addPoint(x, y);
|
||||
shape.addPoint(x + w - (h / 2), y);
|
||||
|
||||
if (isSelected || (tabIndex == (rects.length - 1)))
|
||||
{
|
||||
shape.addPoint(x + w + (h / 2), y + h);
|
||||
}
|
||||
else
|
||||
{
|
||||
shape.addPoint(x + w, y + (h / 2));
|
||||
shape.addPoint(x + w, y + h);
|
||||
}
|
||||
|
||||
g.setColor(tabPane.getBackground());
|
||||
g.fillPolygon(shape);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/** Paint the border of an individual tab */
|
||||
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex,
|
||||
int x, int y, int w, int h, boolean isSelected) {
|
||||
}
|
||||
|
||||
|
||||
protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex,
|
||||
int x, int y, int w, int h) {
|
||||
/*
|
||||
Rectangle selectedRect = selectedIndex < 0 ? null : getTabBounds(selectedIndex, calcRect);
|
||||
|
||||
selectedRect.width = selectedRect.width + (selectedRect.height / 2) - 1;
|
||||
|
||||
g.setColor(Color.BLACK);
|
||||
|
||||
g.drawLine(x, y, selectedRect.x, y);
|
||||
g.drawLine(selectedRect.x + selectedRect.width + 1, y, x + w, y);
|
||||
|
||||
g.setColor(Color.WHITE);
|
||||
|
||||
g.drawLine(x, y + 1, selectedRect.x, y + 1);
|
||||
g.drawLine(selectedRect.x + 1, y + 1, selectedRect.x + 1, y);
|
||||
g.drawLine(selectedRect.x + selectedRect.width + 2, y + 1, x + w, y + 1);
|
||||
|
||||
g.setColor(shadow);
|
||||
g.drawLine(selectedRect.x + selectedRect.width, y, selectedRect.x + selectedRect.width + 1, y + 1);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
protected void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex,
|
||||
int x, int y, int w, int h) {
|
||||
}
|
||||
|
||||
|
||||
protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex,
|
||||
int x, int y, int w, int h) {
|
||||
}
|
||||
|
||||
|
||||
protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex,
|
||||
int x, int y, int w, int h) {
|
||||
}
|
||||
|
||||
|
||||
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects,
|
||||
int tabIndex, Rectangle iconRect,
|
||||
Rectangle textRect, boolean isSelected) {
|
||||
}
|
||||
|
||||
|
||||
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex) {
|
||||
int tw = tabPane.getBounds().width;
|
||||
|
||||
// g.setColor(fillColor);
|
||||
g.setColor(Color.YELLOW);
|
||||
g.fillRect(0, 0, tw, rects[0].height + 3);
|
||||
|
||||
super.paintTabArea(g, tabPlacement, selectedIndex);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected)
|
||||
{
|
||||
if (isSelected)
|
||||
{
|
||||
int vDifference = (int)(selectedMetrics.getStringBounds(title,g).getWidth()) - textRect.width;
|
||||
textRect.x -= (vDifference / 2);
|
||||
super.paintText(g, tabPlacement, selectedFont, selectedMetrics, tabIndex, title, textRect, isSelected);
|
||||
}
|
||||
else
|
||||
{
|
||||
super.paintText(g, tabPlacement, font, metrics, tabIndex, title, textRect, isSelected);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1,252 +0,0 @@
|
||||
package processing.mode.java;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
|
||||
|
||||
// TODO why the hell is this not doing anything?
|
||||
public class SimpleTabbedPaneUI extends BasicTabbedPaneUI {
|
||||
private ColorSet selectedColorSet;
|
||||
private ColorSet defaultColorSet;
|
||||
private ColorSet hoverColorSet;
|
||||
|
||||
private boolean contentTopBorderDrawn = true;
|
||||
private Color lineColor = new Color(158, 158, 158);
|
||||
private Color dividerColor = new Color(200, 200, 200);
|
||||
private Insets contentInsets = new Insets(10, 10, 10, 10);
|
||||
private int lastRollOverTab = -1;
|
||||
|
||||
|
||||
public static ComponentUI createUI(JComponent c) {
|
||||
return new SimpleTabbedPaneUI();
|
||||
}
|
||||
|
||||
|
||||
public SimpleTabbedPaneUI() {
|
||||
selectedColorSet = new ColorSet();
|
||||
selectedColorSet.topGradColor1 = new Color(233, 237, 248);
|
||||
selectedColorSet.topGradColor2 = new Color(158, 199, 240);
|
||||
selectedColorSet.bottomGradColor1 = new Color(112, 173, 239);
|
||||
selectedColorSet.bottomGradColor2 = new Color(183, 244, 253);
|
||||
|
||||
defaultColorSet = new ColorSet();
|
||||
defaultColorSet.topGradColor1 = new Color(253, 253, 253);
|
||||
defaultColorSet.topGradColor2 = new Color(237, 237, 237);
|
||||
defaultColorSet.bottomGradColor1 = new Color(222, 222, 222);
|
||||
defaultColorSet.bottomGradColor2 = new Color(255, 255, 255);
|
||||
|
||||
hoverColorSet = new ColorSet();
|
||||
hoverColorSet.topGradColor1 = new Color(244, 244, 244);
|
||||
hoverColorSet.topGradColor2 = new Color(223, 223, 223);
|
||||
hoverColorSet.bottomGradColor1 = new Color(211, 211, 211);
|
||||
hoverColorSet.bottomGradColor2 = new Color(235, 235, 235);
|
||||
|
||||
maxTabHeight = 20;
|
||||
|
||||
setContentInsets(0);
|
||||
}
|
||||
|
||||
|
||||
public void setContentTopBorderDrawn(boolean b) {
|
||||
contentTopBorderDrawn = b;
|
||||
}
|
||||
|
||||
|
||||
public void setContentInsets(Insets i) {
|
||||
contentInsets = i;
|
||||
}
|
||||
|
||||
|
||||
public void setContentInsets(int i) {
|
||||
contentInsets = new Insets(i, i, i, i);
|
||||
}
|
||||
|
||||
|
||||
public int getTabRunCount(JTabbedPane pane) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
protected void installDefaults() {
|
||||
super.installDefaults();
|
||||
|
||||
MouseAdapter adapter = new MouseAdapter() {
|
||||
|
||||
public void mouseMoved(MouseEvent e) {
|
||||
checkRollOver();
|
||||
}
|
||||
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
checkRollOver();
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent e) {
|
||||
tabPane.repaint();
|
||||
}
|
||||
|
||||
private void checkRollOver() {
|
||||
int currentRollOver = getRolloverTab();
|
||||
if (currentRollOver != lastRollOverTab) {
|
||||
lastRollOverTab = currentRollOver;
|
||||
Rectangle tabsRect = new Rectangle(0, 0, tabPane.getWidth(), 20);
|
||||
tabPane.repaint(tabsRect);
|
||||
}
|
||||
}
|
||||
};
|
||||
tabPane.addMouseListener(adapter);
|
||||
tabPane.addMouseMotionListener(adapter);
|
||||
|
||||
tabAreaInsets = new Insets(0, 0, 0, 0); //NO_INSETS;
|
||||
tabInsets = new Insets(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
|
||||
protected boolean scrollableTabLayoutEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
protected Insets getContentBorderInsets(int tabPlacement) {
|
||||
return contentInsets;
|
||||
}
|
||||
|
||||
|
||||
protected int calculateTabHeight(int tabPlacement, int tabIndex,
|
||||
int fontHeight) {
|
||||
return 21;
|
||||
}
|
||||
|
||||
|
||||
protected int calculateTabWidth(int tabPlacement, int tabIndex,
|
||||
FontMetrics metrics) {
|
||||
int w = super.calculateTabWidth(tabPlacement, tabIndex, metrics);
|
||||
int wid = metrics.charWidth('M');
|
||||
w += wid * 2;
|
||||
return w;
|
||||
}
|
||||
|
||||
|
||||
protected int calculateMaxTabHeight(int tabPlacement) {
|
||||
return 21;
|
||||
}
|
||||
|
||||
|
||||
// paint the area that has no tabs
|
||||
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex) {
|
||||
Graphics2D g2d = (Graphics2D) g;
|
||||
|
||||
g2d.setPaint(new GradientPaint(0, 0, defaultColorSet.topGradColor1,
|
||||
0, 10, defaultColorSet.topGradColor2));
|
||||
g2d.fillRect(0, 0, tabPane.getWidth(), 10);
|
||||
|
||||
g2d.setPaint(new GradientPaint(0, 10, defaultColorSet.bottomGradColor1,
|
||||
0, 21, defaultColorSet.bottomGradColor2));
|
||||
g2d.fillRect(0, 10, tabPane.getWidth(), 11);
|
||||
|
||||
super.paintTabArea(g, tabPlacement, selectedIndex);
|
||||
|
||||
//g2d.setClip(0, 0, tabPane.getWidth(), tabPane.getHeight());
|
||||
// System.out.println("painting green " + g2d.getClip());
|
||||
// g2d.setColor(Color.GREEN);
|
||||
// g2d.fillRect(0, 0, tabPane.getWidth(), 21);
|
||||
|
||||
if (contentTopBorderDrawn) {
|
||||
g2d.setColor(lineColor);
|
||||
g2d.drawLine(0, 20, tabPane.getWidth() - 1, 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// paint the background of individual tabs
|
||||
protected void paintTabBackground(Graphics g, int tabPlacement,
|
||||
int tabIndex, int x, int y, int w, int h,
|
||||
boolean isSelected) {
|
||||
Graphics2D g2d = (Graphics2D) g;
|
||||
ColorSet colorSet;
|
||||
|
||||
Rectangle rect = rects[tabIndex];
|
||||
|
||||
if (isSelected) {
|
||||
colorSet = selectedColorSet;
|
||||
} else if (getRolloverTab() == tabIndex) {
|
||||
colorSet = hoverColorSet;
|
||||
} else {
|
||||
colorSet = defaultColorSet;
|
||||
}
|
||||
|
||||
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
|
||||
RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
|
||||
int width = rect.width;
|
||||
int xpos = rect.x;
|
||||
if (tabIndex > 0) {
|
||||
width--;
|
||||
xpos++;
|
||||
}
|
||||
|
||||
g2d.setPaint(new GradientPaint(xpos, 0, colorSet.topGradColor1,
|
||||
xpos, 10, colorSet.topGradColor2));
|
||||
g2d.fillRect(xpos, 0, width, 10);
|
||||
|
||||
g2d.setPaint(new GradientPaint(0, 10, colorSet.bottomGradColor1,
|
||||
0, 21, colorSet.bottomGradColor2));
|
||||
g2d.fillRect(xpos, 10, width, 11);
|
||||
|
||||
// System.out.println("drawing orange");
|
||||
// g2d.setColor(Color.ORANGE);
|
||||
// g2d.fillRect(xpos, 0, width, 21);
|
||||
|
||||
if (contentTopBorderDrawn) {
|
||||
g2d.setColor(lineColor);
|
||||
g2d.drawLine(rect.x, 20, rect.x + rect.width - 1, 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex,
|
||||
int x, int y, int w, int h,
|
||||
boolean isSelected) {
|
||||
Rectangle rect = getTabBounds(tabIndex, new Rectangle(x, y, w, h));
|
||||
g.setColor(dividerColor);
|
||||
g.drawLine(rect.x + rect.width, 0, rect.x + rect.width, 20);
|
||||
}
|
||||
|
||||
|
||||
protected void paintContentBorderTopEdge(Graphics g, int place, int index,
|
||||
int x, int y, int w, int h) { }
|
||||
|
||||
protected void paintContentBorderRightEdge(Graphics g, int place, int index,
|
||||
int x, int y, int w, int h) { }
|
||||
|
||||
protected void paintContentBorderLeftEdge(Graphics g, int place, int index,
|
||||
int x, int y, int w, int h) { }
|
||||
|
||||
protected void paintContentBorderBottomEdge(Graphics g, int place, int index,
|
||||
int x, int y, int w, int h) { }
|
||||
|
||||
protected void paintFocusIndicator(Graphics g, int place,
|
||||
Rectangle[] rects, int tabIndex,
|
||||
Rectangle iconRect, Rectangle textRect,
|
||||
boolean isSelected) { }
|
||||
|
||||
protected int getTabLabelShiftY(int place, int index, boolean selected) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
private class ColorSet {
|
||||
Color topGradColor1;
|
||||
Color topGradColor2;
|
||||
|
||||
Color bottomGradColor1;
|
||||
Color bottomGradColor2;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user