(saveFormat "2.0")
(date "Tue 19/Dec/1995 09:22:07 MST")
(veerev "3.2")
(platform "HP9000s700")
(SaveCF no)
(filterNAN 0)
(component 0 ROOTCONTEXT
 (name "A Dialog Box with Constraint Checking")
 (implementation
  (retainGlobals YES)
  (locked no)
  (trigMode deg)
  (nextID 5)
  (component 0 NOTE
   (name "Warranty Disclaimer")
   (implementation
	(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."
	)
   )
  )
  (component 1 TEXTDISPLAY
   (name "Validated Input:")
   (interface
	(input 1
	 (name "Data")
	)
   )
   (implementation
   )
  )
  (component 3 CONTEXT
   (name "Validating Dialog Box")
   (interface
	(output 1
	 (type data)
	 (name "X")
	 (lock constraints)
	 (optional yes)
	)
   )
   (implementation
	(locked no)
	(trigMode deg)
	(nextID 9)
	(popupMoveable)
	(component 0 REPEATUNTILBREAK
	 (name "Until Break")
	 (interface
	  (output 1
	   (name "Continuous")
	   (lock name constraints)
	  )
	 )
	)
	(component 1 IFTHENELSE
	 (name "If/Then")
	 (interface
	  (input 1
	   (name "A")
	   (optional yes)
	  )
	  (output 1
	   (name "Then")
	   (lock name constraints)
	  )
	  (output 2
	   (name "Else")
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (expr "A<1 OR A>10")
	 )
	)
	(component 2 CONTEXT
	 (name "Error Pop-Up Panel")
	 (implementation
	  (locked no)
	  (trigMode deg)
	  (nextID 5)
	  (popupMoveable)
	  (component 0 NOTE
	   (name "Note Pad")
	   (implementation
		(text2 1
		  "You must enter a number between 1 and 10."
		)
	   )
	  )
	  (component 1 DELAY
	   (interface
		(output 1
		 (name "Done")
		 (tag "Done")
		 (lock constraints)
		)
	   )
	   (implementation
		(delay 5)
	   )
	  )
	  (component 2 EXITCONTEXT
	   (name "Exit UserObject")
	  )
	  (component 3 EXITCONTEXT
	   (name "Exit UserObject")
	  )
	  (component 4 CONFIRM25
	   (name " OK ")
	   (interface
		(output 1
		 (name "Go")
		 (lock name constraints)
		)
	   )
	   (implementation
		(component enterButton yes)
		(component escapeButton yes)
	   )
	  )
	  (configuration
	   (connect D4:1 D2:0)
	   (connect D1:1 D3:0)
	  )
	  (ShowOnExecPanel
	   (geometry 212 321 434 123)
	   (panel
		(geometry 405 139 430 102)
		(widget 0 detail
		 (title off)
		 (borderStyle flat)
		 (geometry 419 152 406 36)
		 (editing disabled)
		)
		(widget 4 detail
		 (title off)
		 (borderStyle flat)
		 (geometry 589 196 66 26)
		)
	   )
	  )
	 )
	)
	(component 3 GATE
	 (name "Gate")
	 (interface
	  (input 1
	   (name "A")
	   (tag "InData")
	  )
	  (output 1
	   (name "X")
	   (tag "OutData")
	   (lock name constraints)
	  )
	 )
	)
	(component 4 CONFIRM25
	 (name " OK ")
	 (interface
	  (output 1
	   (name "Go")
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (component enterButton yes)
	  (component escapeButton no)
	 )
	)
	(component 5 CONSTANT
	 (name "Enter a number between 1 and 10")
	 (interface
	  (output 1
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (value Int32
	   (data  11)
	  )
	  (initValue Int32
	   (data  0)
	  )
	 )
	)
	(component 6 EXITCONTEXT
	 (name "Exit UserObject")
	)
	(component 7 CONFIRM25
	 (name "Cancel")
	 (interface
	  (output 1
	   (name "Go")
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (component enterButton no)
	  (component escapeButton yes)
	 )
	)
	(component 8 EXITCONTEXT
	 (name "Exit UserObject")
	)
	(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
	 (geometry 214 210 329 159)
	 (panel
	  (geometry 128 161 325 138)
	  (widget 7 detail
	   (title off)
	   (borderStyle flat)
	   (geometry 310 253 66 26)
	  )
	  (widget 5 detail
	   (title on)
	   (borderStyle flat)
	   (geometry 150 203 276 28)
	  )
	  (widget 4 detail
	   (title off)
	   (borderStyle flat)
	   (geometry 190 253 56 26)
	  )
	 )
	)
   )
  )
  (component 4 CONTEXT
   (name "Press For")
   (implementation
	(locked no)
	(trigMode deg)
	(nextID 3)
	(component 0 IFTHENELSE
	 (name "!= 0")
	 (interface
	  (input 1
	   (name "A")
	   (optional yes)
	  )
	  (output 1
	   (name "Then")
	   (lock name constraints)
	  )
	  (output 2
	   (name "Else")
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (expr "a!=0")
	 )
	)
	(component 1 TOGGLE25
	 (name "Info About")
	 (interface
	  (input 1
	   (type control)
	   (name "Reset")
	   (lock name constraints)
	   (optional yes)
	  )
	  (output 1
	   (lock name constraints)
	  )
	 )
	 (implementation
	  (value Int32
	   (data  0)
	  )
	  (autoTrigger on)
	  (initValue Int32
	   (data  0)
	  )
	 )
	)
	(component 2 CONTEXT
	 (name "Info About This Example")
	 (implementation
	  (locked no)
	  (trigMode deg)
	  (nextID 2)
	  (popupMoveable)
	  (component 0 CONFIRM25
	   (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
		(component enterButton yes)
		(component escapeButton yes)
	   )
	  )
	  (component 1 NOTE
	   (name "Explanation")
	   (implementation
		(text2 21
		  ""
		  "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. "
		  ""
		  "Refer to \"Building an Operator Interface with"
		  "HP VEE\" for more details."
		)
	   )
	  )
	  (configuration
	  )
	  (ShowOnExecPanel
	   (geometry 24 75 508 497)
	   (panel
		(geometry 88 102 504 476)
		(widget 1 detail
		 (title on)
		 (borderStyle flat)
		 (geometry 120 132 446 368)
		 (editing disabled)
		)
		(widget 0 detail
		 (title off)
		 (borderStyle flat)
		 (geometry 310 514 61 36)
		)
	   )
	  )
	 )
	)
	(configuration
	 (connect D1:1 D0:1)
	 (connect D2:0 D1:1)
	 (connect D0:1 D2:0)
	)
   )
  )
  (configuration
   (connect D2:1 D1:1)
  )
 )
 (viewFor -1
  (active detail)
  (panel
   (geometry 0 24 901 433)
   (widget 3 panel
	(title on)
	(borderStyle flat)
	(geometry 11 67 237 100)
	(widget 1 detail
	 (title off)
	 (borderStyle flat)
	 (geometry 59 90 114 39)
	 (scaled on)
	 (format button)
	)
   )
   (widget 1 detail
	(title on)
	(borderStyle flat)
	(geometry 260 291 285 38)
   )
   (widget 0 icon
	(title off)
	(borderStyle flat)
	(geometry 558 45 338 48)
	(iconImage "disclaim.icn")
	(label off)
   )
  )
  (detail
   (geometry 0 53 900 447)
   (configuration
	(viewFor 0
	 (active icon)
	 (icon
	  (geometry 401 78 338 48)
	  (iconImage "disclaim.icn")
	  (label off)
	 )
	 (detail
	  (geometry 365 113 291 99)
	  (editing disabled)
	 )
	)
	(viewFor 1
	 (active detail)
	 (icon
	  (geometry 0 0 154 0)
	 )
	 (detail
	  (geometry 726 413 228 35)
	 )
	)
	(viewFor 3
	 (active detail)
	 (icon
	  (geometry 257 359 166 31)
	 )
	 (detail
	  (geometry 29 266 662 328)
	  (configuration
	   (viewFor 0
		(active icon)
		(icon
		 (geometry 35 288 110 64)
		 (iconImage "loop.icn")
		)
		(detail
		)
		(terminals on)
	   )
	   (viewFor 1
		(active detail)
		(icon
		 (geometry 611 378 78 25)
		)
		(detail
		 (geometry 306 318 149 64)
		)
		(terminals on)
	   )
	   (viewFor 2
		(active icon)
		(icon
		 (geometry 537 351 146 19)
		)
		(detail
		 (geometry 408 77 425 227)
		 (configuration
		  (viewFor 0
		   (active detail)
		   (icon
		   )
		   (detail
			(geometry 448 120 364 33)
			(editing enabled)
		   )
		  )
		  (viewFor 1
		   (active detail)
		   (icon
		   )
		   (detail
			(geometry 445 203 130 34)
		   )
		  )
		  (viewFor 2
		   (active icon)
		   (icon
			(geometry 681 261 139 18)
		   )
		   (detail
		   )
		   (terminals on)
		  )
		  (viewFor 3
		   (active icon)
		   (icon
			(geometry 529 262 142 17)
		   )
		   (detail
		   )
		   (terminals on)
		  )
		  (viewFor 4
		   (active detail)
		   (icon
			(geometry -16 -8 33 16)
		   )
		   (detail
			(geometry 662 179 56 23)
		   )
		   (title off)
		  )
		  (connect D4:1 D2:0
		   (points 3 720 190 750 190 750 258)
		  )
		  (connect D1:1 D3:0
		   (points 3 577 220 600 220 600 259)
		  )
		 )
		 (stackingOrder 0 1 3 2 4)
		)
	   )
	   (viewFor 3
		(active icon)
		(icon
		 (geometry 507 418 46 25)
		)
		(detail
		)
		(terminals on)
	   )
	   (viewFor 4
		(active detail)
		(icon
		 (geometry -16 -8 33 16)
		)
		(detail
		 (geometry 139 377 43 27)
		)
		(title off)
	   )
	   (viewFor 5
		(active detail)
		(icon
		 (geometry 0 0 289 0)
		)
		(detail
		 (geometry 60 468 280 25)
		)
	   )
	   (viewFor 6
		(active icon)
		(icon
		 (geometry 472 541 117 19)
		)
		(detail
		)
		(terminals on)
	   )
	   (viewFor 7
		(active detail)
		(icon
		 (geometry -26 -8 52 16)
		)
		(detail
		 (geometry 251 508 59 25)
		)
		(title off)
	   )
	   (viewFor 8
		(active icon)
		(icon
		 (geometry 355 540 110 20)
		)
		(detail
		)
		(terminals on)
	   )
	   (connect D5:1 D1:1
		(points 6 342 480 360 480 360 430 250 430 250 350 273 350)
	   )
	   (connect D1:1 D2:0
		(points 3 507 330 610 330 610 348)
	   )
	   (connect D1:2 D3:0
		(points 3 507 370 530 370 530 415)
	   )
	   (connect D5:1 D3:1
		(points 4 342 480 360 480 360 430 504 430)
	   )
	   (connect D0:1 D4:0
		(points 3 147 320 160 320 160 374)
	   )
	   (connect D4:1 D5:0
		(points 3 184 390 200 390 200 447)
	   )
	   (connect D3:0 D6:0
		(points 2 530 445 530 538)
	   )
	   (connect D7:1 D8:0
		(points 3 312 520 410 520 410 537)
	   )
	   (connect D3:1 O1:1
		(points 2 555 430 690 430)
	   )
	  )
	  (stackingOrder 0 1 8 6 4 5 3 7 2)
	 )
	)
	(viewFor 4
	 (active panel)
	 (icon
	  (geometry 485 248 110 25)
	 )
	 (panel
	  (geometry 31 102 319 77)
	  (widget 1 detail
	   (title off)
	   (borderStyle flat)
	   (geometry 133 114 114 39)
	   (scaled on)
	   (format button)
	  )
	 )
	 (detail
	  (geometry 101 102 539 496)
	  (configuration
	   (viewFor 0
		(active icon)
		(icon
		 (geometry 485 284 46 25)
		)
		(detail
		 (geometry 209 308 73 64)
		)
		(terminals on)
	   )
	   (viewFor 1
		(active detail)
		(icon
		 (geometry -39 -8 79 16)
		)
		(detail
		 (geometry 321 277 114 39)
		 (scaled on)
		 (format button)
		)
		(title off)
	   )
	   (viewFor 2
		(active icon)
		(icon
		 (geometry 182 328 217 25)
		)
		(detail
		 (geometry -23 170 866 520)
		 (configuration
		  (viewFor 0
		   (active detail)
		   (icon
			(geometry -22 -8 44 16)
		   )
		   (detail
			(geometry 361 352 58 37)
		   )
		   (title off)
		  )
		  (viewFor 1
		   (active icon)
		   (icon
			(geometry 305 258 110 25)
		   )
		   (detail
			(geometry 31 444 778 192)
			(editing enabled)
		   )
		  )
		 )
		 (stackingOrder 0 1)
		)
	   )
	   (connect D1:1 D0:1
		(points 2 437 296 482 296)
	   )
	   (connect D2:0 D1:1
		(points 5 290 355 290 380 160 380 160 296 318 296)
	   )
	   (connect D0:1 D2:0
		(points 5 533 286 550 286 550 250 290 250 290 325)
	   )
	  )
	  (stackingOrder 0 1 2)
	 )
	)
	(connect D2:1 D1:1
	 (points 2 693 430 723 430)
	)
   )
   (stackingOrder 0 2 1 3)
  )
  (titleBg "Gray")
  (titleFg "Black")
  (numberFormats
   (realFormat standard)
   (realSigDigits 4)
   (realRadixSpec 4)
   (integerBase decimal)
  )
 )
)
