home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.ivb.jface.basic;
-
- import com.ibm.ivb.jface.parts.CustomButton;
- import com.ibm.ivb.jface.plaf.CustomButtonUI;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import javax.swing.AbstractButton;
- import javax.swing.ButtonModel;
- import javax.swing.Icon;
- import javax.swing.JComponent;
- import javax.swing.plaf.ComponentUI;
-
- public class BasicCustomButtonUI extends CustomButtonUI {
- private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
- protected static CustomButtonUI cbuttonUI;
- static int[] restoreTopX1 = new int[]{0, 0, 3, 3, 11};
- static int[] restoreTopX2 = new int[]{1, 1, 4, 4, 10};
- static int[] restoreTopY1 = new int[]{11, 3, 3, 0, 0};
- static int[] restoreTopY2 = new int[]{10, 4, 4, 1, 1};
- static int[] restoreBotX1 = new int[]{0, 8, 8, 11, 11};
- static int[] restoreBotX2 = new int[]{1, 7, 7, 10, 10};
- static int[] restoreBotY1 = new int[]{11, 11, 8, 8, 0};
- static int[] restoreBotY2 = new int[]{10, 10, 7, 7, 1};
-
- public static ComponentUI createUI(JComponent var0) {
- if (cbuttonUI == null) {
- cbuttonUI = new BasicCustomButtonUI();
- }
-
- return cbuttonUI;
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- CustomButton var2 = (CustomButton)var1;
- switch (var2.getShape()) {
- case 0:
- Icon var3 = ((AbstractButton)var2).getIcon();
- if (var3 == null) {
- return new Dimension(0, 0);
- }
-
- return new Dimension(var3.getIconWidth(), var3.getIconHeight());
- case 5:
- return new Dimension(16, 12);
- case 9:
- case 10:
- return new Dimension(11, 16);
- case 11:
- case 12:
- return new Dimension(16, 13);
- default:
- return new Dimension(12, 12);
- }
- }
-
- public void paint(Graphics var1, JComponent var2) {
- CustomButton var3 = (CustomButton)var2;
- Color var4 = ((Component)var3).getBackground();
- Color var5 = var4.brighter();
- Color var6 = var4.darker();
- ButtonModel var7 = ((AbstractButton)var3).getModel();
- boolean var8 = var7.isArmed() && var7.isPressed();
- switch (var3.getShape()) {
- case 0:
- Icon var9 = var8 ? ((AbstractButton)var3).getPressedIcon() : ((AbstractButton)var3).getIcon();
- var9.paintIcon(var3, var1, 0, 0);
- return;
- case 1:
- var1.setColor(!var8 ? var5.brighter() : var6.darker());
- var1.drawLine(0, 1, 9, 1);
- var1.setColor(!var8 ? var5 : var6);
- var1.drawLine(0, 2, 5, 11);
- var1.setColor(!var8 ? var6.darker() : var5.brighter());
- var1.drawLine(6, 10, 10, 2);
- var1.setColor(!var8 ? var6 : var5);
- var1.drawLine(6, 11, 11, 1);
- var1.drawLine(6, 9, 9, 2);
- return;
- case 2:
- case 8:
- default:
- return;
- case 3:
- if (var8) {
- var1.setColor(Color.black);
- var1.drawLine(0, 5, 10, 0);
- var1.setColor(var6);
- var1.drawLine(0, 6, 10, 1);
- var1.setColor(var5);
- var1.drawLine(0, 6, 11, 11);
- var1.setColor(var5.brighter());
- var1.drawLine(11, 1, 11, 11);
- return;
- }
-
- var1.setColor(var5);
- var1.drawLine(0, 5, 11, 0);
- var1.setColor(var6);
- var1.drawLine(0, 6, 11, 11);
- var1.setColor(Color.black);
- var1.drawLine(11, 1, 11, 11);
- return;
- case 4:
- var1.setColor(!var8 ? var5 : Color.black);
- var1.drawLine(0, 0, 0, 10);
- var1.drawLine(0, 0, 11, 5);
- if (var8) {
- var1.setColor(var6);
- var1.drawLine(1, 1, 1, 9);
- var1.drawLine(1, 1, 10, 5);
- }
-
- var1.setColor(var8 ? var5.brighter() : var6.darker());
- var1.drawLine(11, 6, 0, 11);
- return;
- case 5:
- if (var8) {
- var1.setColor(Color.black);
- var1.drawLine(0, 5, 11, 0);
- var1.setColor(var6);
- var1.drawLine(0, 6, 11, 1);
- var1.setColor(var5);
- var1.drawLine(0, 6, 11, 11);
- var1.setColor(var5.brighter());
- var1.drawLine(11, 1, 9, 3);
- var1.drawLine(9, 8, 11, 11);
- var1.setColor(var5);
- var1.drawLine(9, 8, 15, 8);
- var1.drawLine(15, 8, 15, 4);
- var1.setColor(Color.black);
- var1.drawLine(15, 3, 10, 3);
- return;
- }
-
- var1.setColor(var5);
- var1.drawLine(0, 5, 11, 0);
- var1.setColor(var6);
- var1.drawLine(0, 6, 11, 11);
- var1.setColor(Color.black);
- var1.drawLine(11, 1, 9, 3);
- var1.drawLine(9, 8, 11, 11);
- var1.setColor(var6);
- var1.drawLine(9, 8, 15, 8);
- var1.drawLine(15, 8, 15, 4);
- var1.setColor(var5);
- var1.drawLine(15, 3, 10, 3);
- return;
- case 6:
- var1.setColor(var4);
- var1.fillRect(0, 0, 12, 12);
- var1.setColor(!var8 ? var5.brighter() : Color.black);
- var1.drawPolyline(restoreTopX1, restoreTopY1, 5);
- var1.setColor(!var8 ? var5 : var6);
- var1.drawPolyline(restoreTopX2, restoreTopY2, 5);
- var1.setColor(var8 ? var5.brighter() : Color.black);
- var1.drawPolyline(restoreBotX1, restoreBotY1, 5);
- var1.setColor(var8 ? var5 : var6);
- var1.drawPolyline(restoreBotX2, restoreBotY2, 5);
- return;
- case 7:
- var1.setColor(!var8 ? var5 : var6.darker());
- var1.drawLine(0, 0, 10, 0);
- var1.drawLine(0, 0, 0, 10);
- var1.setColor(!var8 ? var5 : var6);
- var1.drawLine(1, 1, 1, 9);
- var1.drawLine(1, 1, 9, 1);
- var1.setColor(var8 ? var5.brighter() : var6.darker());
- var1.drawLine(11, 1, 11, 11);
- var1.drawLine(1, 11, 11, 11);
- var1.setColor(var8 ? var5 : var6);
- var1.drawLine(10, 2, 10, 10);
- var1.drawLine(2, 10, 10, 10);
- return;
- case 9:
- var1.setColor(!var8 ? var5 : var6.darker());
- var1.drawLine(0, 7, 9, 7);
- var1.drawLine(1, 1, 8, 1);
- var1.drawLine(1, 13, 4, 10);
- var1.drawLine(2, 13, 5, 10);
- var1.setColor(var8 ? var5 : var6.darker());
- var1.drawLine(1, 8, 10, 8);
- var1.drawLine(5, 5, 8, 2);
- var1.drawLine(6, 5, 9, 2);
- var1.drawLine(2, 14, 9, 14);
- var1.setColor(var6);
- var1.drawLine(1, 2, 4, 5);
- var1.drawLine(6, 10, 9, 13);
- return;
- case 10:
- var1.setColor(!var8 ? var5 : var6.darker());
- var1.drawLine(0, 7, 9, 7);
- var1.drawLine(1, 4, 4, 1);
- var1.drawLine(2, 4, 5, 1);
- var1.drawLine(1, 10, 8, 10);
- var1.setColor(var8 ? var5 : var6.darker());
- var1.drawLine(1, 8, 10, 8);
- var1.drawLine(5, 14, 8, 11);
- var1.drawLine(6, 14, 9, 11);
- var1.drawLine(2, 5, 9, 5);
- var1.setColor(var6);
- var1.drawLine(6, 1, 9, 4);
- var1.drawLine(1, 11, 4, 14);
- return;
- case 11:
- var1.setColor(!var8 ? var5 : var6.darker());
- var1.drawLine(7, 1, 7, 10);
- var1.drawLine(1, 2, 1, 9);
- var1.drawLine(10, 5, 13, 2);
- var1.setColor(var8 ? var5 : var6.darker());
- var1.drawLine(8, 2, 8, 11);
- var1.drawLine(2, 9, 5, 6);
- var1.drawLine(2, 10, 5, 7);
- var1.drawLine(14, 3, 14, 10);
- var1.drawLine(8, 2, 8, 11);
- var1.setColor(var6);
- var1.drawLine(10, 7, 13, 10);
- var1.drawLine(5, 5, 2, 2);
- return;
- case 12:
- var1.setColor(!var8 ? var5 : var6.darker());
- var1.drawLine(7, 1, 7, 10);
- var1.drawLine(1, 5, 4, 2);
- var1.drawLine(1, 6, 4, 3);
- var1.drawLine(10, 2, 10, 9);
- var1.setColor(var8 ? var5 : var6.darker());
- var1.drawLine(8, 2, 8, 11);
- var1.drawLine(5, 3, 5, 10);
- var1.drawLine(11, 9, 14, 6);
- var1.drawLine(11, 10, 14, 7);
- var1.setColor(var6);
- var1.drawLine(1, 7, 5, 11);
- var1.drawLine(11, 2, 14, 5);
- }
- }
- }
-