TestAWT.java: Fix test program so that it does not show modal dialogs twice and so that it...

* 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
This commit is contained in:
Fernando Nasser 2004-01-13 13:09:31 +00:00 committed by Fernando Nasser
parent 9bc43c535e
commit e5baf3bd82
2 changed files with 41 additions and 4 deletions

View 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> 2004-01-12 Fernando Nasser <fnasser@redhat.com>
* java/awt/Dialog.java (show): Enable blocking for all modal dialogs * java/awt/Dialog.java (show): Enable blocking for all modal dialogs

View File

@ -184,8 +184,16 @@ class MainWindow extends PrettyFrame implements ActionListener
w.dispose (); w.dispose ();
else else
{ {
w.setVisible (true); if (w instanceof Dialog)
w.show(); {
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 class DialogWindow extends Dialog implements SubWindow
{ {
Label text; Label text;
Frame parent;
boolean initted = false; boolean initted = false;
public DialogWindow (Frame f) public DialogWindow (Frame f)
{ {
super (f, true); super (f, true);
this.parent = f;
} }
public void setVisible (boolean visible) public void setVisible (boolean visible)
@ -264,6 +275,13 @@ class DialogWindow extends Dialog implements SubWindow
super.setVisible (visible); super.setVisible (visible);
} }
public void show ()
{
if (!initted)
init();
super.show ();
}
public void init () public void init ()
{ {
text = new Label ("Dialog Test"); 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 ()).setHgap (5);
((GridLayout) p.getLayout ()).setVgap (5); ((GridLayout) p.getLayout ()).setVgap (5);
p.add (cb); p.add (cb);
@ -300,10 +318,23 @@ class DialogWindow extends Dialog implements SubWindow
doLayout(); 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"); add (p, "South");
setTitle ("Dialog"); setTitle ("Dialog");
setSize (130, 70); setSize (240, 120);
} }
} }