/* $XConsortium: DiaShellM1.dat /main/4 1995/07/17 10:15:30 drk $ */
/*
 * Motif
 *
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
 *
 * These libraries and programs are free software; you can
 * redistribute them and/or modify them under the terms of the GNU
 * Lesser General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * These libraries and programs are distributed in the hope that
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with these librararies and programs; if not, write
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
 * Floor, Boston, MA 02110-1301 USA
 */
/*
 * HISTORY
 */

#) This is a test testing the various behaviors of DialogShells.

#) There should be two TopLevel Shells, one with a bulletinboard containing a
   bunch of pushbuttons inside, and the other with a bulletinboard containing
   just one pushbutton "DefaultButton2".

#) Move TopShell2 window to 500,500.

#) There should be Primary modal dialog child of TopShell1 visible.

#) Click MouseBtn1 on "DefaultButton2". The button should go in and out.
   Otherwise, if you hear a beep, or no visible change occurs in the
   button, CR4909 is still a problem.

#) Click on "Cancel" of the dialog. The dialog should disappear and a new
   Primary dialog child of TopShell1 should appear.

#) Click MouseBtn1 on "DefaultButton2" again. Even if this failed with the
   previous dialog up, it should succeed now, and the button should go in
   and out. This is just to show that CR4909 is a problem only the first
   time.

#) Click on "Cancel" of the dialog. The dialog should disappear.

C)

#) Click MouseBtn1 on "Create Primary Modal from TopShell1". This should
   post a PrimaryModal dialog child of TopShell1.

#) With this modal up, try clicking on any other button inside TopShell1.
   The input should not be accepted.

#) Click MouseBtn1 on "DefaultButton2". The button should go in and out.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

#) Click MouseBtn1 on "Create Modeless Dialog from TopShell1". This should
   post a Modeless dialog child of TopShell1. 
   
#) Repeat steps 2 and 3. At this time, you should be able to input into
   both TopShell1 and TopShell2.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

C)


#) Click MouseBtn1 on "Create Full App Modal from TopShell1". This should
   post a FullAppModal dialog child of TopShell1.

#) With this modal up, try clicking on any other button inside TopShell1.
   The input should not be accepted.

#) Click MouseBtn1 on "DefaultButton2". The input should not be accepted.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

#) Click MouseBtn1 on "Create Full App Modal from TopShell2". This should
   post a FullAppModal dialog child of TopShell2.

#) Repeat steps 2 and 3. The result should be exactly the same.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

C)


#) Click MouseBtn1 on "Create System Modal from TopShell1". This should
   post a System Modal dialog child of TopShell1.

#) With this modal up, try clicking MouseBtn1 anywhere other than inside
   the dialog. The input should not be accepted.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

#) Click MouseBtn1 on "Create System Modal from TopShell2". This should
   post a System Modal dialog child of TopShell2.

#) With this modal up, try clicking MouseBtn1 anywhere other than inside
   the dialog. The input should not be accepted.

#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.

C)


#) Click MouseBtn1 on "Iconify TopShell2 by XIconifyWindow". TopShell2
   window should be iconified.

#) Click MouseBtn1 on "Popdown TopShell2 by XtPopdown". The TopShell2
   icon should disappear.

#) Click MouseBtn1 on "Popup TopShell2 by XtPopup". The TopShell2 window
   should reappear in normal state.

C)

!) /* Begin test for CR 3622 */


#) Click MouseBtn1 on "Unrealize TopShell2 by XtUnrealizeWidget". TopShell2
   should become invisible.
#) Click MouseBtn1 on ""Create Full App Modal from TopShell2". This should
   post a FullAppModal dialog child of TopShell2.
#) With this modal up, try clicking MouseBtn1 on TopShell1. 
   The input should not be accepted.
#) Click MouseBtn1 on "Cancel" of the posted dialog. The dialog should
   disappear.
#) Click MouseBtn1 on "Create Primary Modal from TopShell2". This should
   post a PrimaryModal dialog child of TopShell2. 
   With this modal up, try clicking MouseBtn1 on TopShell1. 
   The input should not be accepted.
   Click "Cancel" on the dialog to unpost it.
#) Click MouseBtn1 on "Create System Modal from TopShell2". This should
   post a SystemModal dialog child of TopShell2.
   Click "Cancel" on the dialog to unpost it.
#) If the actual behaviour diverges from the expected in any of these cases, 
   CR 3622 hasn't been fixed.
!) /* End test for CR 3622 */
C)

E)
