home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / sun / awt / motif / MDialogPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.9 KB  |  189 lines

  1. package sun.awt.motif;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dialog;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.Insets;
  9. import java.awt.Window;
  10. import java.awt.peer.DialogPeer;
  11. import java.util.Vector;
  12.  
  13. class MDialogPeer extends MPanelPeer implements DialogPeer {
  14.    Insets insets;
  15.    Thread currentThread;
  16.    static Vector allDialogs = new Vector();
  17.  
  18.    native void create(MComponentPeer var1, Object var2);
  19.  
  20.    native void pSetTitle(String var1);
  21.  
  22.    native void pShow();
  23.  
  24.    native void pHide();
  25.  
  26.    native void pReshape(int var1, int var2, int var3, int var4);
  27.  
  28.    native void pDispose();
  29.  
  30.    public native void setResizable(boolean var1);
  31.  
  32.    MDialogPeer(Dialog var1) {
  33.       super(var1, new Insets(Integer.getInteger("awt.frame.topInset", 25), Integer.getInteger("awt.frame.leftInset", 5), Integer.getInteger("awt.frame.bottomInset", 5), Integer.getInteger("awt.frame.rightInset", 5)));
  34.       allDialogs.addElement(this);
  35.       MFramePeer var2 = (MFramePeer)((Component)var1).getParent().getPeer();
  36.       if (var2 != null) {
  37.          var2.addWindow(var1);
  38.       }
  39.  
  40.       if (var1.getTitle() != null) {
  41.          this.pSetTitle(var1.getTitle());
  42.       }
  43.  
  44.       Font var3 = ((Component)var1).getFont();
  45.       if (var3 == null) {
  46.          var3 = new Font("Dialog", 0, 12);
  47.          ((Component)var1).setFont(var3);
  48.          ((MComponentPeer)this).setFont(var3);
  49.       }
  50.  
  51.       Color var4 = ((Component)var1).getBackground();
  52.       if (var4 == null) {
  53.          ((Component)var1).setBackground(Color.lightGray);
  54.          ((MComponentPeer)this).setBackground(Color.lightGray);
  55.       }
  56.  
  57.       var4 = ((Component)var1).getForeground();
  58.       if (var4 == null) {
  59.          ((Component)var1).setForeground(Color.black);
  60.          ((MComponentPeer)this).setForeground(Color.black);
  61.       }
  62.  
  63.       this.setResizable(var1.isResizable());
  64.    }
  65.  
  66.    public void show() {
  67.       if (!((Dialog)super.target).isModal()) {
  68.          super.show();
  69.       } else {
  70.          this.currentThread = Thread.currentThread();
  71.          if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
  72.             this.pShow();
  73.             super.applet.enterModal();
  74.          } else {
  75.             this.pShow();
  76.             Component var1 = super.target;
  77.             synchronized(var1){}
  78.  
  79.             try {
  80.                try {
  81.                   super.target.wait(0L);
  82.                } catch (InterruptedException var4) {
  83.                }
  84.             } catch (Throwable var5) {
  85.                throw var5;
  86.             }
  87.          }
  88.  
  89.          this.currentThread = null;
  90.       }
  91.    }
  92.  
  93.    public void hide() {
  94.       if (((Dialog)super.target).isModal() && this.currentThread != null) {
  95.          if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
  96.             super.applet.exitModal();
  97.          } else {
  98.             Component var1 = super.target;
  99.             synchronized(var1){}
  100.  
  101.             try {
  102.                try {
  103.                   super.target.notifyAll();
  104.                } catch (IllegalMonitorStateException var4) {
  105.                }
  106.             } catch (Throwable var5) {
  107.                throw var5;
  108.             }
  109.          }
  110.  
  111.          this.pHide();
  112.       } else {
  113.          super.hide();
  114.       }
  115.    }
  116.  
  117.    public void setTitle(String var1) {
  118.       this.pSetTitle(var1);
  119.    }
  120.  
  121.    public void dispose() {
  122.       MFramePeer var1 = (MFramePeer)super.target.getParent().getPeer();
  123.       if (var1 != null) {
  124.          var1.removeWindow((Window)super.target);
  125.       }
  126.  
  127.       allDialogs.removeElement(this);
  128.       this.hide();
  129.       super.dispose();
  130.    }
  131.  
  132.    public synchronized void handleMoved(int var1, int var2) {
  133.       if (super.applet != null) {
  134.          XEvent var3 = new XEvent(new Event(super.target, 0L, 205, var1, var2, 0, 0), this);
  135.          super.applet.sendEvent(var3);
  136.       } else {
  137.          super.target.postEvent(new Event(super.target, 0L, 205, var1, var2, 0, 0));
  138.       }
  139.    }
  140.  
  141.    public void handleQuit() {
  142.       if (super.applet != null) {
  143.          XEvent var1 = new XEvent(new Event(super.target, 201, (Object)null), this);
  144.          super.applet.sendEvent(var1);
  145.       } else {
  146.          super.target.postEvent(new Event(super.target, 201, (Object)null));
  147.       }
  148.    }
  149.  
  150.    public void handleIconify() {
  151.       if (super.applet != null) {
  152.          XEvent var1 = new XEvent(new Event(super.target, 203, (Object)null), this);
  153.          super.applet.sendEvent(var1);
  154.       } else {
  155.          super.target.postEvent(new Event(super.target, 203, (Object)null));
  156.       }
  157.    }
  158.  
  159.    public void handleDeiconify() {
  160.       if (super.applet != null) {
  161.          XEvent var1 = new XEvent(new Event(super.target, 204, (Object)null), this);
  162.          super.applet.sendEvent(var1);
  163.       } else {
  164.          super.target.postEvent(new Event(super.target, 204, (Object)null));
  165.       }
  166.    }
  167.  
  168.    public void toFront() {
  169.       this.pShow();
  170.    }
  171.  
  172.    public native void toBack();
  173.  
  174.    public Insets insets() {
  175.       return this.insets;
  176.    }
  177.  
  178.    public synchronized void handleResize(int var1, int var2) {
  179.       if (super.applet != null) {
  180.          XEvent var3 = new XEvent(new Event(super.target, 207, (Object)null), this);
  181.          super.applet.sendEvent(var3);
  182.       } else {
  183.          super.target.invalidate();
  184.          super.target.validate();
  185.          super.target.repaint();
  186.       }
  187.    }
  188. }
  189.