]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
TestAWT.java: Fix test program so that it does not show modal dialogs twice and so...
authorFernando Nasser <fnasser@redhat.com>
Tue, 13 Jan 2004 13:09:31 +0000 (13:09 +0000)
committerFernando Nasser <fnasser@gcc.gnu.org>
Tue, 13 Jan 2004 13:09:31 +0000 (13:09 +0000)
        * gnu/java/awt/peer/gtk/TestAWT.java: Fix test program so that it does
        not show modal dialogs twice and so that it allows showing a modal
        dialog from another modal dialog.

From-SVN: r75803

libjava/ChangeLog
libjava/gnu/java/awt/peer/gtk/TestAWT.java

index 6252810397be582fb5c15b0b703483d7f681abb7..eb423b3e012391eb1a41fb16f55f22615cf99d77 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-12  Fernando Nasser  <fnasser@redhat.com>
+
+       * gnu/java/awt/peer/gtk/TestAWT.java: Fix test program so that it does
+       not show modal dialogs twice and so that it allows showing a modal
+       dialog from another modal dialog.
+
 2004-01-12  Fernando Nasser  <fnasser@redhat.com>
 
        * java/awt/Dialog.java (show): Enable blocking for all modal dialogs
index 48cdce1a1fe6878b0581120c71e97e2d62ab3651..36e4416d3dfae9645527baa249e5719607fb161b 100644 (file)
@@ -184,8 +184,16 @@ class MainWindow extends PrettyFrame implements ActionListener
       w.dispose ();
     else 
       {
-       w.setVisible (true);
-       w.show();
+        if (w instanceof Dialog)
+          {
+            System.out.println ("Will 'show'");
+           w.show();
+            System.out.println ("Has shown");
+          }
+        else
+          {
+           w.setVisible (true);
+          }
       }
   }
 }
@@ -250,11 +258,14 @@ class ButtonsWindow extends SubFrame implements ActionListener
 class DialogWindow extends Dialog implements SubWindow
 {
   Label text;
+  Frame parent;
   boolean initted = false;
 
   public DialogWindow (Frame f)
   {
     super (f, true);
+
+    this.parent = f;
   }
 
   public void setVisible (boolean visible)
@@ -264,6 +275,13 @@ class DialogWindow extends Dialog implements SubWindow
     super.setVisible (visible);
   }
 
+  public void show ()
+  {
+    if (!initted)
+      init();
+    super.show ();
+  }
+
   public void init ()
   {
     text = new Label ("Dialog Test");
@@ -282,7 +300,7 @@ class DialogWindow extends Dialog implements SubWindow
        }
     });
     
-    p.setLayout (new GridLayout (1, 2));
+    p.setLayout (new GridLayout (1, 3));
     ((GridLayout) p.getLayout ()).setHgap (5);
     ((GridLayout) p.getLayout ()).setVgap (5);
     p.add (cb);
@@ -300,10 +318,23 @@ class DialogWindow extends Dialog implements SubWindow
          doLayout();
        }
     });
+
+    Button subdlg = new Button ("SubDialog");
+    p.add (subdlg);
+
+    subdlg.addActionListener(new ActionListener () {
+      public void actionPerformed (ActionEvent e) 
+       {
+            DialogWindow sw = new DialogWindow (parent);
+            System.out.println ("Will show modal sub dialog");
+            sw.show ();
+            System.out.println ("Has shown modal sub dialog");
+       }
+    });
     
     add (p, "South");
     setTitle ("Dialog");
-    setSize (130, 70);
+    setSize (240, 120);
   }
 }