diff options
Diffstat (limited to 'source/com/c2kernel/gui/tabs/CloseTabIcon.java')
| -rwxr-xr-x | source/com/c2kernel/gui/tabs/CloseTabIcon.java | 67 |
1 files changed, 67 insertions, 0 deletions
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 |
