home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.motif;
-
- import java.awt.Choice;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Window;
-
- class MChoiceMenu extends Window {
- MTinyChoicePeer peer;
- String[] items;
- int selected;
- // $FF: renamed from: h int
- int field_0;
-
- MChoiceMenu(Frame var1, MTinyChoicePeer var2, int var3, int var4, int var5, int var6, int var7, String[] var8) {
- super(var1);
- this.field_0 = var6;
- this.peer = var2;
- this.items = var8;
- this.selected = var7;
- ((Component)this).setBackground(((Component)var1).getBackground());
- ((Component)this).reshape(var3 - 2, var4 - 2 - var7 * var6, var5 + 4, var8.length * var6 + 4);
- }
-
- public void paint(Graphics var1) {
- Dimension var2 = ((Component)this).size();
- var1.setColor(((Component)this).getBackground());
- var1.draw3DRect(0, 0, var2.width - 1, var2.height - 1, true);
- var1.draw3DRect(1, 1, var2.width - 3, var2.height - 3, true);
- var1.draw3DRect(2, 2 + this.selected * this.field_0, var2.width - 5, var2.height - 1, false);
- var1.setFont(((Component)this).getFont());
- FontMetrics var3 = var1.getFontMetrics();
- var1.setColor(((Component)this).getForeground());
- int var4 = 2 + (this.field_0 + var3.getAscent()) / 2;
-
- for(int var5 = 0; var5 < this.items.length; var4 += this.field_0) {
- var1.drawString(this.items[var5], 7, var4);
- ++var5;
- }
-
- }
-
- boolean handleWindowEvent(Event var1) {
- int var2 = this.selected;
- Dimension var3 = ((Component)this).size();
- if (var1.x >= 0 && var1.x <= var3.width && var1.y >= 0 && var1.y <= var3.height) {
- var2 = Math.max(0, Math.min(this.items.length - 1, (var1.y - 2) / this.field_0));
- } else {
- var2 = ((Choice)this.peer.target).getSelectedIndex();
- }
-
- if (this.selected != var2) {
- Graphics var4 = ((Component)this).getGraphics();
-
- try {
- var4.setColor(((Component)this).getBackground());
- var4.drawRect(2, 2 + this.selected * this.field_0, var3.width - 5, this.field_0 - 1);
- this.selected = var2;
- var4.draw3DRect(2, 2 + this.selected * this.field_0, var3.width - 5, this.field_0 - 1, true);
- } finally {
- var4.dispose();
- }
- }
-
- return false;
- }
- }
-