home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / browser / ns405lyc / nav40.z / java40.jar / sun / awt / windows / WDialogPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-24  |  2.4 KB  |  116 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.enterModal();
  51.          } else if (((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread() == this.currentThread) {
  52.             this.disableBrowserCheck();
  53.             this.showModal(true);
  54.          } else {
  55.             this.showModal(false);
  56.             Component var1 = super.target;
  57.             synchronized(var1){}
  58.  
  59.             try {
  60.                try {
  61.                   super.target.wait(0L);
  62.                } catch (InterruptedException var4) {
  63.                }
  64.             } catch (Throwable var5) {
  65.                throw var5;
  66.             }
  67.  
  68.          }
  69.       } else {
  70.          super.show();
  71.       }
  72.    }
  73.  
  74.    public void hide() {
  75.       if (!((Dialog)super.target).isModal()) {
  76.          super.hide();
  77.       } else {
  78.          if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
  79.             super.applet.exitModal();
  80.          } else if (this.currentThread != ((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread()) {
  81.             Component var1 = super.target;
  82.             synchronized(var1){}
  83.  
  84.             try {
  85.                try {
  86.                   super.target.notifyAll();
  87.                } catch (IllegalMonitorStateException var4) {
  88.                }
  89.             } catch (Throwable var5) {
  90.                throw var5;
  91.             }
  92.          }
  93.  
  94.          this.hideModal();
  95.       }
  96.    }
  97.  
  98.    public synchronized void handleMoved(long var1, int var3, int var4, int var5) {
  99.       super.target.postEvent(new Event(super.target, 0L, 205, var4, var5, 0, 0));
  100.    }
  101.  
  102.    public void handleIconify(long var1) {
  103.       super.target.postEvent(new Event(super.target, 203, (Object)null));
  104.    }
  105.  
  106.    public void handleDeiconify(long var1) {
  107.       super.target.postEvent(new Event(super.target, 204, (Object)null));
  108.    }
  109.  
  110.    protected void handleResize(long var1, int var3, int var4, int var5, int var6, int var7) {
  111.       super.target.invalidate();
  112.       super.target.validate();
  113.       super.target.repaint();
  114.    }
  115. }
  116.