home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / OS2 / CSIME.ARJ / CSIME.ZIP / csime / mug / ui / QuestionDialog.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-02-09  |  2.4 KB  |  88 lines

  1. package mug.ui;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dialog;
  7. import java.awt.Event;
  8. import java.awt.FlowLayout;
  9. import java.awt.Frame;
  10. import java.awt.GridBagConstraints;
  11. import java.awt.GridBagLayout;
  12. import java.awt.Insets;
  13. import java.awt.Panel;
  14. import java.awt.Window;
  15.  
  16. public class QuestionDialog extends Dialog {
  17.    private MultiLineLabel _text;
  18.    private Callback _callback;
  19.  
  20.    public QuestionDialog(Frame var1, boolean var2, String var3, String[] var4, Callback var5) {
  21.       super(var1, var2);
  22.       this._callback = var5;
  23.       this.init(var3, var4);
  24.    }
  25.  
  26.    public QuestionDialog(Frame var1, String var2, boolean var3, String var4, String[] var5, Callback var6) {
  27.       super(var1, var2, var3);
  28.       this._callback = var6;
  29.       this.init(var4, var5);
  30.    }
  31.  
  32.    public Insets insets() {
  33.       Insets var1 = super.insets();
  34.       return new Insets(var1.top + 15, var1.left + 15, var1.bottom + 15, var1.right + 15);
  35.    }
  36.  
  37.    private void init(String var1, String[] var2) {
  38.       ((Container)this).setLayout(new GridBagLayout());
  39.       GridBagConstraints var3 = new GridBagConstraints();
  40.       var3.gridwidth = 0;
  41.       this.constrain(this._text = new MultiLineLabel(var1, 1), var3);
  42.       Panel var4 = new Panel();
  43.       ((Container)var4).setLayout(new FlowLayout(1, 5, 5));
  44.       if (var2 != null && var2.length != 0) {
  45.          for(int var5 = 0; var5 < var2.length; ++var5) {
  46.             ((Container)var4).add(new Button(var2[var5]));
  47.          }
  48.       } else {
  49.          ((Container)var4).add(new Button("Dismiss"));
  50.       }
  51.  
  52.       this.constrain(var4, var3);
  53.       ((Window)this).pack();
  54.    }
  55.  
  56.    private void constrain(Component var1, GridBagConstraints var2) {
  57.       GridBagLayout var3 = (GridBagLayout)((Container)this).getLayout();
  58.       var3.setConstraints(var1, var2);
  59.       ((Container)this).add(var1);
  60.    }
  61.  
  62.    public void setText(String var1) {
  63.       this._text.setText(var1);
  64.    }
  65.  
  66.    public boolean handleEvent(Event var1) {
  67.       if (var1.id == 201) {
  68.          ((Window)this).dispose();
  69.          return true;
  70.       } else {
  71.          return super.handleEvent(var1);
  72.       }
  73.    }
  74.  
  75.    public boolean action(Event var1, Object var2) {
  76.       if (var1.target instanceof Button) {
  77.          ((Window)this).dispose();
  78.          if (this._callback != null) {
  79.             this._callback.execute(this, var2);
  80.          }
  81.  
  82.          return true;
  83.       } else {
  84.          return false;
  85.       }
  86.    }
  87. }
  88.