diff options
author | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 13:09:31 +0000 |
---|---|---|
committer | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 13:09:31 +0000 |
commit | 44ea1c0d7cb2f6efaf60e1a6ea7299258b688691 (patch) | |
tree | c4db13fdec0f1fbcabc413740320b1e335769768 /libjava | |
parent | 0914a918f13c3934753e8a1721e660fd2e0cb551 (diff) |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75803 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/gnu/java/awt/peer/gtk/TestAWT.java | 39 |
2 files changed, 41 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6252810397b..eb423b3e012 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,11 @@ 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 and run secondary dispatch thread to process event queue while this thread is blocked. diff --git a/libjava/gnu/java/awt/peer/gtk/TestAWT.java b/libjava/gnu/java/awt/peer/gtk/TestAWT.java index 48cdce1a1fe..36e4416d3df 100644 --- a/libjava/gnu/java/awt/peer/gtk/TestAWT.java +++ b/libjava/gnu/java/awt/peer/gtk/TestAWT.java @@ -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); } } |