home *** CD-ROM | disk | FTP | other *** search
- package jclass.bwt;
-
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import java.awt.SystemColor;
- import jclass.util.JCString;
- import jclass.util.JCVector;
-
- public class JCButton extends JCLabel {
- Object arm_label;
- boolean armed;
- protected int old_shadowtype;
- String actionCommand;
- protected JCVector actionListeners;
- protected JCVector buttonListeners;
- private static final String base = "button";
- private static int nameCounter;
- protected int arm_offset;
-
- public JCButton() {
- this((Object)null, (Applet)null, (String)null);
- }
-
- public JCButton(Object var1) {
- this(var1, (Applet)null, (String)null);
- }
-
- public JCButton(String var1, Image var2, int var3) {
- this(new JCString(var1, var2, var3), (Applet)null, (String)null);
- ((Component)this).setName(var1);
- }
-
- public JCButton(String var1, String var2, Applet var3, int var4) {
- this((Object)null, (Applet)null, (String)null);
- ((JCLabel)this).setLabel(new JCString(var1, JCComponent.conv.toImage(var3, var2), var4));
- super.insets = new Insets(2, 5, 2, 5);
- }
-
- public JCButton(Object var1, Applet var2, String var3) {
- super(var1, var2, var3);
- this.armed = false;
- this.actionListeners = new JCVector(0);
- this.buttonListeners = new JCVector(0);
- this.arm_offset = 1;
- if (var3 == null) {
- ((Component)this).setName("button" + nameCounter++);
- }
-
- super.shadow_type = 9;
- super.traversable = true;
- super.highlight = 1;
- super.shadow = 2;
- if (var1 != null && !(var1 instanceof String)) {
- super.insets = new Insets(2, 5, 2, 5);
- } else {
- super.insets = new Insets(0, 5, 0, 5);
- }
-
- ((JCComponent)this).setBackground(SystemColor.control);
- if (this.getClass().getName().equals("jclass.bwt.JCButton")) {
- ((JCComponent)this).getParameters(var2);
- }
-
- ((JCComponent)this).enable11Events(32L);
- }
-
- protected void getParameters() {
- super.getParameters();
- this.arm_label = JCComponent.conv.toJCString(this, ((JCComponent)this).getParam("armLabel"), this.arm_label);
- }
-
- public Object getArmLabel() {
- return this.arm_label;
- }
-
- public void setArmLabel(Object var1) {
- this.arm_label = var1;
- if (this.armed) {
- this.layout();
- ((JCComponent)this).repaint();
- }
-
- }
-
- public void setActionCommand(String var1) {
- this.actionCommand = var1;
- }
-
- public String getActionCommand() {
- return this.actionCommand == null ? String.valueOf(super.label) : this.actionCommand;
- }
-
- public void addActionListener(JCActionListener var1) {
- this.actionListeners.add(var1);
- }
-
- public void removeActionListener(JCActionListener var1) {
- this.actionListeners.removeElement(var1);
- }
-
- public void addButtonListener(JCButtonListener var1) {
- this.buttonListeners.add(var1);
- }
-
- public void removeButtonListener(JCButtonListener var1) {
- this.buttonListeners.removeElement(var1);
- }
-
- public void armAction(Event var1) {
- this.old_shadowtype = super.shadow_type;
- super.shadow_type = 3;
- this.armed = true;
- JCButtonEvent var2 = this.buttonListeners.size() > 0 ? new JCButtonEvent(var1) : null;
-
- for(int var3 = 0; var3 < this.buttonListeners.size(); ++var3) {
- ((JCButtonListener)this.buttonListeners.elementAt(var3)).buttonArmBegin(var2);
- }
-
- ((JCComponent)this).repaint();
- super.shadow_type = this.old_shadowtype;
-
- for(int var4 = 0; var4 < this.buttonListeners.size(); ++var4) {
- ((JCButtonListener)this.buttonListeners.elementAt(var4)).buttonArmEnd(var2);
- }
-
- }
-
- public void disarmAction(Event var1) {
- JCButtonEvent var2 = this.buttonListeners.size() > 0 ? new JCButtonEvent(var1) : null;
-
- for(int var3 = 0; var3 < this.buttonListeners.size(); ++var3) {
- ((JCButtonListener)this.buttonListeners.elementAt(var3)).buttonDisarmBegin(var2);
- }
-
- if (this.armed && this.arm_label != null) {
- ((JCLabel)this).layout(super.label);
- }
-
- this.armed = false;
- super.shadow_type = this.old_shadowtype;
- ((JCComponent)this).repaint();
-
- for(int var4 = 0; var4 < this.buttonListeners.size(); ++var4) {
- ((JCButtonListener)this.buttonListeners.elementAt(var4)).buttonDisarmEnd(var2);
- }
-
- }
-
- public void clickAction(Event var1) {
- String var2 = this.getActionCommand();
- if (var1 == null) {
- var1 = new Event(this, 0, var2);
- }
-
- JCActionEvent var3 = new JCActionEvent(this, var1.id, var2, var1.modifiers);
-
- for(int var4 = 0; var4 < this.actionListeners.size(); ++var4) {
- ((JCActionListener)this.actionListeners.elementAt(var4)).actionPerformed(var3);
- }
-
- }
-
- public synchronized void layout() {
- super.layout();
- if (((Component)this).getPeer() != null) {
- int var1 = super.alignment;
- if (var1 != 2 && var1 != 5 && var1 != 8 && true) {
- var1 = super.alignment;
- if (var1 == 1 || var1 == 4 || var1 == 7 || false) {
- Rectangle var5 = super.label_rect;
- var5.x -= this.arm_offset / 2;
- }
- } else {
- Rectangle var10000 = super.label_rect;
- var10000.x -= this.arm_offset;
- }
-
- var1 = super.alignment;
- if (var1 != 3 && var1 != 4 && var1 != 5 && true) {
- var1 = super.alignment;
- if (var1 == 6 || var1 == 7 || var1 == 8 || false) {
- Rectangle var7 = super.label_rect;
- var7.y -= this.arm_offset;
- }
-
- } else {
- Rectangle var6 = super.label_rect;
- var6.y -= this.arm_offset / 2;
- }
- }
- }
-
- protected void drawValue(Graphics var1, Object var2) {
- if (!((Component)this).isEnabled()) {
- Color var3 = var1.getColor();
- var1.translate(1, 1);
- var1.setColor(Color.white);
- super.drawValue(var1, var2);
- var1.translate(-1, -1);
- var1.setColor(((Component)this).getBackground().darker());
- super.drawValue(var1, var2);
- var1.setColor(var3);
- } else {
- if (this.armed && this.arm_label != null) {
- ((JCLabel)this).layout(this.arm_label);
- var1.translate(this.arm_offset, this.arm_offset);
- super.drawValue(var1, this.arm_label);
- } else {
- if (this.armed) {
- var1.translate(this.arm_offset, this.arm_offset);
- }
-
- super.drawValue(var1, var2);
- }
-
- if (this.armed) {
- var1.translate(-this.arm_offset, -this.arm_offset);
- }
-
- }
- }
-
- protected void drawHighlight(Graphics var1, boolean var2) {
- super.drawHighlight(var1, var2);
- int var3 = ((Component)this).size().width;
- int var4 = ((Component)this).size().height;
- Color var5 = var2 ? super.highlight_color : ((Component)this).getBackground();
- if (var5 == null) {
- var5 = ((Component)this).getForeground();
- }
-
- var1.setColor(var5);
- if (var2) {
- BWTUtil.drawDashedRect(var1, 4, 4, var3 - 8 - 1, var4 - 8 - 1);
- } else {
- var1.drawRect(4, 4, var3 - 8 - 1, var4 - 8 - 1);
- }
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- if (!this.armed) {
- return false;
- } else {
- this.armAction(var1);
- return true;
- }
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- if (!this.armed) {
- return false;
- } else {
- this.disarmAction(var1);
- this.armed = true;
- return true;
- }
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- return true;
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if ((var1.metaDown() ? 3 : ((var1.modifiers & 8) != 0 ? 2 : 1)) != 1) {
- return false;
- } else if (this.armed) {
- return true;
- } else if (!((Component)this).inside(var2, var3)) {
- return false;
- } else {
- super.mouseDown(var1, var2, var3);
- this.armAction(var1);
- return true;
- }
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- if ((var1.metaDown() ? 3 : ((var1.modifiers & 8) != 0 ? 2 : 1)) != 1) {
- return false;
- } else {
- if (((Component)this).inside(var2, var3) && this.armed) {
- this.disarmAction(var1);
- this.clickAction(var1);
- } else if (this.armed) {
- this.armed = false;
- ((JCComponent)this).repaint();
- }
-
- return true;
- }
- }
-
- public boolean keyDown(Event var1, int var2) {
- super.keyDown(var1, var2);
- if (var1.key != 10 && (char)var1.key != ' ') {
- return false;
- } else {
- this.armAction(var1);
- ((Component)this).getToolkit().sync();
-
- try {
- Thread.sleep(50L);
- } catch (Exception var3) {
- }
-
- this.disarmAction(var1);
- this.clickAction(var1);
- ((Component)this).getToolkit().sync();
- return true;
- }
- }
-
- protected int preferredWidth() {
- int var10000 = super.label_width + this.arm_offset;
- Object var1 = this.arm_label;
- int var3 = Math.max(var10000, BWTUtil.getWidth(var1, this, ((Component)this).getFont()) + this.arm_offset);
- return Math.max(20, var3);
- }
-
- protected int preferredHeight() {
- int var10000 = super.label_height + this.arm_offset;
- Object var1 = this.arm_label;
- int var3 = Math.max(var10000, BWTUtil.getHeight(var1, this, ((Component)this).getFont()) + this.arm_offset);
- return Math.max(20, var3);
- }
- }
-