home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPConsoleDialog.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-26  |  3.9 KB  |  133 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dialog;
  5. import java.awt.Event;
  6. import java.awt.Panel;
  7. import java.awt.Rectangle;
  8. import java.awt.TextArea;
  9. import java.awt.Window;
  10.  
  11. public class JDPConsoleDialog extends JDPDialog implements Runnable {
  12.    JDPUser user;
  13.    Container parent;
  14.    String title;
  15.    String message;
  16.    String[] buttons;
  17.    int[] icons;
  18.    int button = -1;
  19.    JDPButtons JDPButtons2;
  20.    TextArea consoleOutput;
  21.    int lastSize;
  22.    boolean firstTime = true;
  23.  
  24.    public JDPConsoleDialog(JDPUser var1, Container var2) {
  25.       super(var1, "Console Output", var2);
  26.       this.user = var1;
  27.       this.parent = var2;
  28.       Panel var3 = new Panel();
  29.       JDPChiselFramePanel var4 = new JDPChiselFramePanel(var1, "Console Output");
  30.       this.consoleOutput = new TextArea("", 7, 60);
  31.       this.consoleOutput.setEditable(false);
  32.       Panel var5 = new Panel();
  33.       String[] var6 = new String[]{"Clear", "Close"};
  34.       int[] var7 = new int[]{JDPButton.getIconValue("Undo"), JDPButton.getIconValue("Delete")};
  35.       this.JDPButtons2 = new JDPButtons(var1, var6, var7, JDPButtons.getAlignmentValue("Horizontal"));
  36.       ((Container)this).add("Center", var3);
  37.       ((Container)var3).setLayout(new BorderLayout());
  38.       ((Container)var3).add("Center", var4);
  39.       ((Container)var4).add("Center", this.consoleOutput);
  40.       ((Container)var3).add("South", var5);
  41.       ((Container)var5).setLayout(new BorderLayout());
  42.       ((Container)var5).add("East", this.JDPButtons2);
  43.       ((Dialog)this).setResizable(true);
  44.       ((Dialog)this).setModal(false);
  45.       JDesignerPro.SystemOutStream.reset();
  46.       (new Thread(this)).start();
  47.    }
  48.  
  49.    public void showAt(Rectangle var1) {
  50.       if (!((Window)this).isShowing() || ((Component)this).bounds().x < 0 || ((Component)this).bounds().y < 0) {
  51.          ((Component)this).reshape(var1.x, (int)((double)(var1.y + var1.height) - (double)var1.height * 0.42), var1.width, (int)((double)var1.height * 0.35));
  52.       }
  53.  
  54.       ((Dialog)this).show();
  55.       this.refresh();
  56.    }
  57.  
  58.    public int refresh() {
  59.       String var1 = "";
  60.       int var2 = this.consoleOutput.getText().length();
  61.  
  62.       try {
  63.          var1 = JDesignerPro.SystemOutStream.toString();
  64.          if (var1.equals("")) {
  65.             return var2;
  66.          }
  67.  
  68.          JDesignerPro.SystemOutStream.reset();
  69.          if (var1.indexOf(".usr") >= 0 || var1.indexOf("default.jot") >= 0) {
  70.             var1 = "";
  71.          }
  72.  
  73.          var1 = this.user.u.replace(var1, "BorderLayout: cannot add to layout: unknown constraint: null\r\n", "");
  74.          var1 = this.user.u.replace(var1, "BorderLayout: cannot add to layout: unknown constraint: null", "");
  75.          var1 = this.user.u.replace(var1, "\r", "");
  76.          this.consoleOutput.setText(this.consoleOutput.getText() + var1);
  77.          var2 = this.consoleOutput.getText().length();
  78.          if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  79.             this.consoleOutput.setCaretPosition(var2 + 10000);
  80.          }
  81.  
  82.          this.consoleOutput.select(var2 + 10000, var2 + 10000);
  83.       } catch (Exception var3) {
  84.       }
  85.  
  86.       return var2;
  87.    }
  88.  
  89.    public void run() {
  90.       while(true) {
  91.          try {
  92.             if (((Window)this).isShowing()) {
  93.                Thread.sleep(1000L);
  94.             } else {
  95.                Thread.sleep(1000L);
  96.             }
  97.  
  98.             this.refresh();
  99.             if (this.firstTime) {
  100.                this.firstTime = false;
  101.                Rectangle var1 = this.user.jdpMainWindow.bounds();
  102.                if (!((Window)this).isShowing()) {
  103.                   ((Component)this).reshape(var1.x, (int)((double)(var1.y + var1.height) - (double)var1.height * 0.42), var1.width, (int)((double)var1.height * 0.35));
  104.                }
  105.             }
  106.          } catch (Exception var2) {
  107.          }
  108.       }
  109.    }
  110.  
  111.    public boolean handleEvent(Event var1) {
  112.       switch (var1.id) {
  113.          case 201:
  114.             ((Window)this).dispose();
  115.             return true;
  116.          case 1001:
  117.             if (var1.target.equals(this.JDPButtons2.button[0])) {
  118.                JDesignerPro.SystemOutStream.reset();
  119.                this.consoleOutput.setText("");
  120.                this.lastSize = 0;
  121.             }
  122.  
  123.             if (var1.target.equals(this.JDPButtons2.button[1])) {
  124.                ((Window)this).dispose();
  125.             }
  126.  
  127.             return true;
  128.          default:
  129.             return false;
  130.       }
  131.    }
  132. }
  133.