(saveFormat "2.3")
(date "Mon 03/Mar/1997 16:44:17 MST")
(veerev "4.0")
(platform "HP9000s700")
(execMode fast)
(filterNAN 0)
(workspaceStackingOrder M)
(SaveCF no)
(device 0 ROOTCONTEXT
(properties
(trigMode deg)
(nextID 5)
(popupTitleText "A Dialog Box with Constraint Checking")
(popupMoveable 1)
(deleteGlobals 0))
(deviceList
(device 0 NOTE
(properties
(name "Warranty Disclaimer")
(text2 5 "This example is provided as an" "illustration \"as is\", and "
"Hewlett-Packard Company makes " "no warranty of any kind"
"with regard to this example.")))
(device 1 TEXTDISPLAY
(properties
(name "Validated Input:"))
(interface
(input 1
(name "Data"))))
(device 3 CONTEXT
(properties
(name "Validating Dialog Box")
(trigMode deg)
(nextID 9)
(popupMoveable 1))
(interface
(output 1
(type data)
(name "X")
(lock constraints)
(optional yes)))
(deviceList
(device 0 REPEATUNTILBREAK
(interface
(output 1
(name "Continuous")
(lock name constraints))))
(device 1 IFTHENELSE
(properties
(name "If/Then")
(cases 1 "A<1 OR A>10"))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(name "Then")
(lock name constraints))
(output 2
(name "Else")
(lock name constraints))))
(device 2 CONTEXT
(properties
(name "Error Pop-Up Panel")
(trigMode deg)
(nextID 5)
(popupMoveable 1))
(deviceList
(device 0 NOTE
(properties
(text2 1 "You must enter a number between 1 and 10.")))
(device 1 DELAY
(properties
(delay 5))
(interface
(output 1
(name "Done")
(tag "Done"))))
(device 2 EXITCONTEXT)
(device 3 EXITCONTEXT)
(device 4 CONFIRM25
(properties
(name " OK "))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(configuration
(connect D4:1 D2:0)
(connect D1:1 D3:0))
(ShowOnExecPanel
(relativeOrigin 212 221)))
(contextCarrier
(active panel)
(panel
(extent 430 102)
(widget 0 detail
(relativeOrigin 12 11)
(title off)
(borderStyle flat)
(extent 406 36)
(editing disabled))
(widget 4 detail
(relativeOrigin 182 55)
(title off)
(borderStyle flat)
(extent 66 26)))
(detail
(extent 425 227)
(anchorPt 222 59)
(configuration
(devCarrierFor 0
(active open)
(icon)
(open
(extent 364 33)
(editing enabled))
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon)
(open
(extent 130 34))
(pinCenter -120 84))
(devCarrierFor 2
(active icon)
(icon
(extent 139 18))
(open)
(terminals on)
(pinCenter 120 134))
(devCarrierFor 3
(active icon)
(icon
(extent 142 17))
(open)
(terminals on)
(pinCenter -30 134))
(devCarrierFor 4
(active open)
(icon
(extent 33 16))
(open
(extent 56 23))
(title off)
(pinCenter 60 54))
(connect D4:1 D2:0
(points 3 90 54 120 54 120 122))
(connect D1:1 D3:0
(points 3 -53 84 -30 84 -30 123)))
(stackingOrder 0 1 3 2 4))))
(device 3 GATE
(interface
(input 1
(name "A")
(tag "InData"))
(output 1
(name "X")
(tag "OutData")
(lock name constraints))))
(device 4 CONFIRM25
(properties
(name " OK ")
(escapeButton 0))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(device 5 CONSTANT
(properties
(name "Enter a number between 1 and 10"))
(interface
(output 1
(lock name constraints)))
(implementation
(value Int32
(data  3))
(initValue Int32
(data  0))))
(device 6 EXITCONTEXT)
(device 7 CONFIRM25
(properties
(name "Cancel")
(enterButton 0))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(device 8 EXITCONTEXT)
(configuration
(connect D5:1 D1:1)
(connect D1:1 D2:0)
(connect D1:2 D3:0)
(connect D5:1 D3:1)
(connect D0:1 D4:0)
(connect D4:1 D5:0)
(connect D3:0 D6:0)
(connect D7:1 D8:0)
(connect D3:1 O1:1))
(ShowOnExecPanel
(relativeOrigin 36 157)))
(contextCarrier
(active panel)
(panel
(extent 325 138)
(widget 5 detail
(relativeOrigin 20 22)
(title on)
(borderStyle flat)
(extent 276 28))
(widget 4 detail
(relativeOrigin 60 90)
(title off)
(borderStyle flat)
(extent 56 26))
(widget 7 detail
(relativeOrigin 180 90)
(title off)
(borderStyle flat)
(extent 66 26)))
(detail
(extent 641 328)
(anchorPt 79 55)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 110 64)
(iconImage "loop.icn"))
(open)
(terminals on)
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 78 25))
(open
(extent 112 62))
(terminals on)
(pinCenter 245 20))
(devCarrierFor 2
(active icon)
(icon
(extent 146 19))
(open
(extent 430 102)
(carbonCopy))
(pinCenter 470 30))
(devCarrierFor 3
(active icon)
(icon
(extent 46 25))
(open)
(terminals on)
(pinCenter 370 80))
(devCarrierFor 4
(active open)
(icon
(extent 33 16))
(open
(extent 43 27))
(title off)
(pinCenter 70 70))
(devCarrierFor 5
(active open)
(icon
(extent 289 0))
(open
(extent 280 25))
(pinCenter 110 130))
(devCarrierFor 6
(active icon)
(icon
(extent 117 19))
(open)
(terminals on)
(pinCenter 370 230))
(devCarrierFor 7
(active open)
(icon
(extent 52 16))
(open
(extent 59 25))
(title off)
(pinCenter 180 190))
(devCarrierFor 8
(active icon)
(icon
(extent 110 20))
(open)
(terminals on)
(pinCenter 230 230))
(connect D5:1 D1:1
(points 6 252 130 270 130 270 80 140 80 140 20 156 20))
(connect D1:1 D2:0
(points 3 343 0 470 0 470 18))
(connect D1:2 D3:0
(points 3 343 40 370 40 370 65))
(connect D5:1 D3:1
(points 4 252 130 270 130 270 80 344 80))
(connect D0:1 D4:0
(points 3 57 0 70 0 70 54))
(connect D4:1 D5:0
(points 3 94 70 110 70 110 97))
(connect D3:0 D6:0
(points 2 370 95 370 218))
(connect D7:1 D8:0
(points 3 212 190 230 190 230 217))
(connect D3:1 O1:1
(points 4 395 80 420 80 420 108 561 108)))
(stackingOrder 0 4 5 7 1 3 6 8 2))))
(device 4 CONTEXT
(properties
(name "Press For")
(trigMode deg)
(nextID 3))
(deviceList
(device 0 IFTHENELSE
(properties
(name "!= 0")
(cases 1 "a!=0"))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(name "Then")
(lock name constraints))
(output 2
(name "Else")
(lock name constraints))))
(device 1 TOGGLE25
(properties
(name "Info About")
(autoTrigger 1))
(interface
(input 1
(type control)
(name "Reset")
(lock name constraints)
(optional yes))
(output 1
(lock name constraints)))
(implementation
(value Int32
(data  0))
(initValue Int32
(data  0))))
(device 2 CONTEXT
(properties
(name "Info About This Example")
(trigMode deg)
(nextID 2)
(popupMoveable 1))
(deviceList
(device 0 CONFIRM25
(properties
(name "DONE")
(description2 7 "This tiny \"thread\" begins running when the "
"enclosing UserObject is executed.  When the user"
"acknowledges the OK/DONE button, there is nothing"
"left to execute, so the thread ends.  Since there"
"are not other threads running, the User Object"
"is completed and will exit, removing the Show on" "Execute pop-up display."))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(device 1 NOTE
(properties
(name "Explanation")
(text2 22 "" "PURPOSE: To demonstrate adding constraint "
"checking to a custom dialog box built from" "a UserObject Pop-Up Panel." ""
"USER DATA REQUIRED:  Press Run. You"
"can then enter valid or invalid responses" "and observe the response. " ""
"EXPLANATION:  To get user input, you\'ll"
"generally use the Dialog Box objects that "
"have built-in constraint checking.  But"
"if you need more complex dialog boxes," "you need to make custom dialog boxes"
"from UserObject or UserFunction Pop-Up" "Panels.  This program shows the basic"
"structure and logic of a custom dialog" "box with constraint checking. " ""
"For more details, see the \"HP VEE Help\" topic" "\"To Check for Valid Data\"."
"")))
(configuration)
(ShowOnExecPanel
(relativeOrigin 0 0)))
(contextCarrier
(active panel)
(panel
(extent 504 495)
(widget 1 detail
(relativeOrigin 30 10)
(title on)
(borderStyle flat)
(extent 436 388)
(editing disabled))
(widget 0 detail
(relativeOrigin 220 440)
(title off)
(borderStyle flat)
(extent 61 36)))
(detail
(extent 560 524)
(anchorPt 455 251)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 44 16))
(open
(extent 58 37))
(title off)
(pinCenter -200 230))
(devCarrierFor 1
(active icon)
(icon
(extent 110 25))
(open
(extent 453 404)
(editing enabled))
(pinCenter -210 -20)))
(stackingOrder 0 1))))
(configuration
(connect D1:1 D0:1)
(connect D2:0 D1:1)
(connect D0:1 D2:0)))
(contextCarrier
(active panel)
(panel
(extent 319 77)
(widget 1 detail
(relativeOrigin 100 10)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(detail
(extent 322 237)
(anchorPt 239 52)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 46 25))
(open
(extent 73 64))
(terminals on)
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 79 16))
(open
(extent 114 39)
(scaled on)
(format button))
(title off)
(pinCenter -130 0))
(devCarrierFor 2
(active icon)
(icon
(extent 217 25))
(open
(extent 504 476)
(carbonCopy))
(pinCenter -70 100))
(connect D1:1 D0:1
(points 2 -71 0 -26 0))
(connect D2:0 D1:1
(points 5 -70 115 -70 140 -210 140 -210 0 -190 0))
(connect D0:1 D2:0
(points 5 25 -10 50 -10 50 40 -70 40 -70 85)))
(stackingOrder 0 1 2))))
(configuration
(connect D2:1 D1:1))
(ShowOnExecPanel))
(contextCarrier
(wndOrigin 7 6)
(wndState res)
(active panel)
(panel
(extent 743 346)
(widget 3 panel
(relativeOrigin 20 10)
(title on)
(borderStyle flat)
(extent 216 88)
(widget 1 detail
(relativeOrigin 46 21)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(widget 0 icon
(relativeOrigin 280 40)
(title off)
(borderStyle flat)
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(widget 1 detail
(relativeOrigin 420 220)
(title on)
(borderStyle flat)
(extent 266 38)))
(detail
(extent 807 362)
(anchorPt 565 71)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(open
(extent 291 99)
(editing disabled))
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 154 0))
(open
(extent 228 35))
(pinCenter -120 180))
(devCarrierFor 3
(active icon)
(icon
(extent 166 31))
(open
(extent 325 138)
(carbonCopy))
(pinCenter -380 180))
(devCarrierFor 4
(active open)
(icon
(extent 110 25))
(open
(extent 319 77)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter -380 38))
(connect D2:1 D1:1
(points 2 -295 180 -237 180)))
(stackingOrder 0 3 1 2))
(numberFormats
(realFormat standard)
(realSigDigits 4)
(realRadixSpec 4)
(integerBase decimal))))
