home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Component;
- import java.awt.Dialog;
- import java.awt.Event;
- import java.awt.peer.DialogPeer;
-
- class WDialogPeer extends WWindowPeer implements DialogPeer {
- Thread currentThread;
-
- native void create(WComponentPeer var1);
-
- public native void setTitle(String var1);
-
- public native void setResizable(boolean var1);
-
- private native void showModal(boolean var1);
-
- private native void hideModal();
-
- private native void disableBrowser();
-
- private void disableBrowserCheck() {
- if (SecurityManager.isPrivilegeEnabled("UniversalDialogModality")) {
- this.disableBrowser();
- }
-
- }
-
- WDialogPeer(Dialog var1) {
- super(var1);
- if (var1.getTitle() != null) {
- this.setTitle(var1.getTitle());
- }
-
- this.setResizable(var1.isResizable());
- }
-
- public void dispose() {
- this.hide();
- super.dispose();
- }
-
- public void show() {
- if (((Dialog)super.target).isModal()) {
- this.currentThread = Thread.currentThread();
- if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
- this.showModal(false);
- this.disableBrowserCheck();
- super.applet.enterModal();
- } else if (((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread() == this.currentThread) {
- this.disableBrowserCheck();
- this.showModal(true);
- } else {
- this.showModal(false);
- Component var1 = super.target;
- synchronized(var1){}
-
- try {
- try {
- super.target.wait(0L);
- } catch (InterruptedException var4) {
- }
- } catch (Throwable var5) {
- throw var5;
- }
-
- }
- } else {
- super.show();
- }
- }
-
- public void hide() {
- if (!((Dialog)super.target).isModal()) {
- super.hide();
- } else {
- if (super.applet != null && this.currentThread == super.applet.getAppletThread()) {
- super.applet.exitModal();
- } else if (this.currentThread != ((WToolkit)((WComponentPeer)this).getToolkit()).getCallbackThread()) {
- Component var1 = super.target;
- synchronized(var1){}
-
- try {
- try {
- super.target.notifyAll();
- } catch (IllegalMonitorStateException var4) {
- }
- } catch (Throwable var5) {
- throw var5;
- }
- }
-
- this.hideModal();
- }
- }
-
- public synchronized void handleMoved(long var1, int var3, int var4, int var5) {
- super.target.postEvent(new Event(super.target, 0L, 205, var4, var5, 0, 0));
- }
-
- public void handleIconify(long var1) {
- super.target.postEvent(new Event(super.target, 203, (Object)null));
- }
-
- public void handleDeiconify(long var1) {
- super.target.postEvent(new Event(super.target, 204, (Object)null));
- }
-
- protected void handleResize(long var1, int var3, int var4, int var5, int var6, int var7) {
- super.target.invalidate();
- super.target.validate();
- super.target.repaint();
- }
- }
-