From 254ee6f47eebfc00462c10756a92066e82cc1a96 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 21 Jun 2011 15:46:02 +0200 Subject: Initial commit --- source/com/c2kernel/gui/tabs/CloseTabIcon.java | 67 ++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 source/com/c2kernel/gui/tabs/CloseTabIcon.java (limited to 'source/com/c2kernel/gui/tabs/CloseTabIcon.java') diff --git a/source/com/c2kernel/gui/tabs/CloseTabIcon.java b/source/com/c2kernel/gui/tabs/CloseTabIcon.java new file mode 100755 index 0000000..ca2bf0b --- /dev/null +++ b/source/com/c2kernel/gui/tabs/CloseTabIcon.java @@ -0,0 +1,67 @@ +package com.c2kernel.gui.tabs; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Rectangle; + +import javax.swing.Icon; + +/** + * @author Developpement + * + * To change this generated comment edit the template variable "typecomment": + * Window>Preferences>Java>Templates. + * To enable and disable the creation of type comments go to + * Window>Preferences>Java>Code Generation. + */ +/** * The class which generates the 'X' icon for the tabs. The constructor * accepts an icon which is extra to the 'X' icon, so you can have tabs * like in JBuilder. This value is null if no extra icon is required. */ +class CloseTabIcon implements Icon +{ + private int x_pos; + private int y_pos; + private int width; + private int height; + private Icon fileIcon; + public CloseTabIcon(Icon fileIcon) + { + this.fileIcon = fileIcon; + width = 16; + height = 16; + } + public void paintIcon(Component c, Graphics g, int x, int y) + { + this.x_pos = x; + this.y_pos = y; + Color col = g.getColor(); + g.setColor(Color.black); + int y_p = y + 2; + g.drawLine(x + 1, y_p, x + 12, y_p); + g.drawLine(x + 1, y_p + 13, x + 12, y_p + 13); + g.drawLine(x, y_p + 1, x, y_p + 12); + g.drawLine(x + 13, y_p + 1, x + 13, y_p + 12); + g.drawLine(x + 3, y_p + 3, x + 10, y_p + 10); + g.drawLine(x + 3, y_p + 4, x + 9, y_p + 10); + g.drawLine(x + 4, y_p + 3, x + 10, y_p + 9); + g.drawLine(x + 10, y_p + 3, x + 3, y_p + 10); + g.drawLine(x + 10, y_p + 4, x + 4, y_p + 10); + g.drawLine(x + 9, y_p + 3, x + 3, y_p + 9); + g.setColor(col); + if (fileIcon != null) + { + fileIcon.paintIcon(c, g, x + width, y_p); + } + } + public int getIconWidth() + { + return width + (fileIcon != null ? fileIcon.getIconWidth() : 0); + } + public int getIconHeight() + { + return height; + } + public Rectangle getBounds() + { + return new Rectangle(x_pos, y_pos, width, height); + } +} \ No newline at end of file -- cgit v1.2.3