home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 June / pcx11_9706.iso / shutils / internet / browser / p16e40b5.exe / nav40.z / JAVA40.JAR / sun / awt / windows / WDialogPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-23  |  2.4 KB  |  117 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dialog;
  5. import java.awt.Event;
  6. import java.awt.peer.DialogPeer;
  7.  
  8. class WDialogPeer extends WWindowPeer implements DialogPeer {
  9.    Thread currentThread;
  10.  
  11.    native void create(WComponentPeer var1);
  12.  
  13.    public native void setTitle(String var1);
  14.  
  15.    public native void setResizable(boolean var1);
  16.  
  17.    private native void showModal(boolean var1);
  18.  
  19.    private native void hideModal();
  20.  
  21.    private native void disableBrowser();
  22.  
  23.    private void disableBrowserCheck() {
  24.       if (SecurityManager.isPrivilegeEnabled("UniversalDialogModality")) {
  25.          this.disableBrowser();
  26.       }
  27.  
  28.    }
  29.  
  30.    WDialogPeer(Dialog var1) {
  31.       super(var1);
  32.       if (var1.getTitle() != null) {
  33.          this.setTitle(var1.getTitle());
  34.       }
  35.  
  36.       this.setResizable(var1.isResizable());
  37.    }
  38.  
  39.    public void dispose() {
  40.       this.hide();
  41.       super.dispose();
  42.    }
  43.  
  44.    public void show() {
  45.       if (((Dialog)super.target).isModal()) {
  46.          this.currentThread = Thread.currentThread();
  47.          if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
  48.             this.showModal(false);
  49.             this.disableBrowserCheck();
  50.             super.applet.run();
  51.             super.applet.resetModal();
  52.          } else if (((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread() == this.currentThread) {
  53.             this.disableBrowserCheck();
  54.             this.showModal(true);
  55.          } else {
  56.             this.showModal(false);
  57.             Component var1 = super.target;
  58.             synchronized(var1){}
  59.  
  60.             try {
  61.                try {
  62.                   super.target.wait(0L);
  63.                } catch (InterruptedException var4) {
  64.                }
  65.             } catch (Throwable var5) {
  66.                throw var5;
  67.             }
  68.  
  69.          }
  70.       } else {
  71.          super.show();
  72.       }
  73.    }
  74.  
  75.    public void hide() {
  76.       if (!((Dialog)super.target).isModal()) {
  77.          super.hide();
  78.       } else {
  79.          if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
  80.             super.applet.exitModal();
  81.          } else if (this.currentThread != ((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread()) {
  82.             Component var1 = super.target;
  83.             synchronized(var1){}
  84.  
  85.             try {
  86.                try {
  87.                   super.target.notifyAll();
  88.                } catch (IllegalMonitorStateException var4) {
  89.                }
  90.             } catch (Throwable var5) {
  91.                throw var5;
  92.             }
  93.          }
  94.  
  95.          this.hideModal();
  96.       }
  97.    }
  98.  
  99.    public synchronized void handleMoved(long var1, int var3, int var4, int var5) {
  100.       super.target.postEvent(new Event(super.target, 0L, 205, var4, var5, 0, 0));
  101.    }
  102.  
  103.    public void handleIconify(long var1) {
  104.       super.target.postEvent(new Event(super.target, 203, (Object)null));
  105.    }
  106.  
  107.    public void handleDeiconify(long var1) {
  108.       super.target.postEvent(new Event(super.target, 204, (Object)null));
  109.    }
  110.  
  111.    protected void handleResize(long var1, int var3, int var4, int var5, int var6, int var7) {
  112.       super.target.invalidate();
  113.       super.target.validate();
  114.       super.target.repaint();
  115.    }
  116. }
  117.