Commit e5baf3bd by Fernando Nasser Committed by Fernando Nasser

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
parent 9bc43c53
2004-01-12 Fernando Nasser <fnasser@redhat.com> 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 * java/awt/Dialog.java (show): Enable blocking for all modal dialogs
and run secondary dispatch thread to process event queue while this and run secondary dispatch thread to process event queue while this
thread is blocked. thread is blocked.
......
...@@ -184,8 +184,16 @@ class MainWindow extends PrettyFrame implements ActionListener ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment