Blob Blame History Raw
# $XConsortium: PushBtn2.scr /main/6 1995/07/17 20:06:59 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 test confirms that setting the resources 
#   XmNdefaultButtonShadowThickness and XmNshowAsDefault on
#   a PushButton and PushButtonGadget before they are realized does not 
#   cause those widgets to draw into an unrealized window.

#  You should see the two objects displayed. 
#   If no X errors (BadDrawable from X_PolyFillRectangle request) 
#   have been reported, the test has passed.

CompareVisual Shell1
Continue

# A client with a pushbutton should appear. It should be labeled
#  'Push Here' with marginWidth and marginHeight set at 20.
#  All other resources will be set by default. 

# Click MB1 on the pushbutton. The pushbutton should set showAsDefault
#  to 5 which will place a second shadow region around the pushbutton
#  to visually mark it as a default button. 

# Click MB1 on the pushbutton again. Now, showAsDefault will be set at 10 and
#  and the shadow region around the pushbutton will grow to 10 pixels. 

LocatePointer pushbutton
CompareVisual pushbutton
ClickMB Btn1
ClickMB Btn1
CompareVisual bboard
Continue

# Double and triple click on the button. You will get only
#  one callback for each click, and the click_count will always be 1. 

LocatePointer pushbutton
ClickMB Btn1 2
ClickMB Btn1 3
Continue

# Multi-click on button. You will get a separate callback
#  for each click, which will look like a series with counts 1,2,3,etc 

LocatePointer pushbutton
ClickMB Btn1 2
ClickMB Btn1 3
ClickMB Btn1 5

Continue

# A bulletinBoard with several pushButtons should appear.  Mnemonics have
#  been added to the push Buttons.  Verify that the mnemonics work.  With
#  focus in the window, type <Alt> mnemonic character.  You should 
#  get a message to the term window describing which button was selected.
#  Try both 'R' and 'r', to verify for case sensitivity.

LocatePointer pushbutton1
ClickKey <Alt> <Shift> Kr
ClickKey <Alt> Kr
ClickKey <Alt> Kl
LocatePointer pushbutton1
ClickMB Btn1
LocatePointer pushbutton2
ClickMB Btn1


Continue

# Click on the first push button.  The remaining pushbuttons should be
#  destroyed with no core dumps occurring.

LocatePointer push0
ClickMB Btn1
Continue

Exit