(saveFormat "2.0")
(date "Tue 19/Dec/1995 09:23:35 MST")
(veerev "3.2")
(platform "HP9000s700")
(SaveCF no)
(filterNAN 0)
(component 0 ROOTCONTEXT
 (name "From DataSet Example")
 (implementation
  (retainGlobals YES)
  (locked no)
  (trigMode rad)
  (nextID 11)
  (component 0 FROMDATASET
   (interface
	(output 1
	 (name "Rec")
	 (tag "records")
	 (lock constraints)
	)
   )
   (implementation
	(attr iopath file read "/tmp/myData"
	 (readTerm "\n")
	 (fs " ")
	 (eol "\n")
	 (multiField fullSyntax)
	 (arrayFormat block)
	)
	(readRecs one)
	(expr 1 "1")
   )
  )
  (component 1 FROMRECORD
   (name "UnBuild Record")
   (interface
	(input 1
	 (name "Record Data")
	 (requires
	  (datatype Record)
	 )
	 (lock name constraints)
	)
	(output 1
	 (name "Name List")
	 (tag "Name List")
	 (lock name constraints)
	 (optional yes)
	)
	(output 2
	 (name "Type List")
	 (tag "Type List")
	 (lock name constraints)
	 (optional yes)
	)
	(output 3
	 (name "SIneWave")
	 (lock constraints)
	 (optional yes)
	)
	(output 4
	 (name "Noise")
	 (lock constraints)
	 (optional yes)
	)
   )
  )
  (component 2 YPLOT
   (name "Sine Wave")
   (interface
	(input 1
	 (name "Trace1")
	 (lock constraints)
	)
   )
   (implementation
	(tracePin 1)
	(graphMode rectangular)
   )
  )
  (component 3 YPLOT
   (name "Noise")
   (interface
	(input 1
	 (name "Trace1")
	 (lock constraints)
	)
   )
   (implementation
	(tracePin 1)
	(graphMode rectangular)
   )
  )
  (component 4 YPLOT
   (name "Sine + Noise")
   (interface
	(input 1
	 (name "Trace1")
	 (lock constraints)
	)
   )
   (implementation
	(tracePin 1)
	(graphMode rectangular)
   )
  )
  (component 5 FORMULA
   (name " + ")
   (interface
	(input 1
	 (name "X")
	 (optional yes)
	)
	(input 2
	 (name "Y")
	 (optional yes)
	)
	(output 1
	 (name "Result")
	 (lock name constraints)
	)
   )
   (implementation
	(expr 1 "X+Y")
   )
  )
  (component 8 CONTEXT
   (name "Press For")
   (description2 10
	"This User Object is the outermost \"context\""
	"for the InfoAbout help device.  Within this"
	"device is the pop-up panel containing the info"
	"Notepad.  If all you can see is a device with"
	"\"Press For\", you should double-click the left"
	"mouse button on the Press For to restore the"
	"Panel View of the device.  To see how this device"
	"operates, click on the Info About button first,"
	"then press the Detail button in the \"Press For\""
	"title bar."
   )
   (implementation
	(locked no)
	(trigMode deg)
	(nextID 4)
	(component 0 TOGGLE25
	 (name "Info About")
	 (description2 17
	  "This is a toggle device with the name changed to"
	  "reflect it\'s function.  The output of the device"
	  "is \"0\" when the button is up, and \"1\" when the"
	  "button is down.  "
	  ""
	  "A Reset Control Input terminal has been added to"
	  "to always pop the button back out after showing"
	  "the pop-up help (Info About This Example) User"
	  "Object."
	  ""
	  "The Toggle has set the \"AutoExecute\" option to let"
	  "it operate even when the RUN button in the title"
	  "bar has not been pressed.  Note, however, that"
	  "AutoExecute only works when no other threads are"
	  "operating, either from their Start buttons or from"
	  "the RUN button."
	  ""
	 )
	 (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")
	 (description2 10
	  "This is a User Object that has both a detail view"
	  "and a Panel view.  If this device is visible as"
	  "an icon, you must double-click the left mouse"
	  "button to \"open up\" the non-iconic view."
	  ""
	  "Since the User Object has both a Panel and Detail"
	  "view, when you double-click on the icon, you will"
	  "first see the Panel view.  To see the components"
	  "of the User Object, press the Detail button in"
	  "the \"Info About This Example\" title bar."
	 )
	 (implementation
	  (locked no)
	  (trigMode deg)
	  (nextID 2)
	  (popupMoveable)
	  (component 0 NOTE
	   (name "NotePad")
	   (description2 11
		"This notepad is displayed as a Show on Execute"
		"panel to present the information to the reader."
		""
		"It has been \"Added to Panel\" of the \"Info About"
		"This Example\" user object, thus it is not "
		"necessary to keep it as an open device inside the"
		"Detail view; you can edit the notepad from the"
		"Panel view of this User Object.  You can also"
		"set/clear the \"Enable Edit\" flag in this Notepad\'s"
		"Object Menu to keep the pop-up notepad from being"
		"altered by the user."
	   )
	   (implementation
		(text2 15
		  "PURPOSE:  This example, along with manual40.vee, shows how to use DataSets."
		  ""
		  "USER INPUT REQUIRED:  Press \"Run\"."
		  ""
		  "EXPLANATION:"
		  "\tA DataSet is a collection of Record containers saved into a file for "
		  "    later retrieval. The From DataSet object retrieves the Record data from"
		  "    a file which was written by a To DataSet object and outputs the data."
		  ""
		  "\tExample manual40.vee used the To DataSet object to write a DataSet which"
		  "    contained a record containing a sine wave and a noise waveform.  The From"
		  "    DataSet object retrieves the record data from /tmp/myData, and outputs"
		  "    the data to Unbuild Record, which separates out the sine wave and noise"
		  "    data fields.  The sine wave, the noise waveform, and the sum of the two"
		  "    waveforms are each displayed in a separate XY Trace object."
		)
	   )
	  )
	  (component 1 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)
	   )
	  )
	  (configuration
	  )
	  (ShowOnExecPanel
	   (geometry 1 32 805 424)
	   (panel
		(geometry 40 129 801 403)
		(widget 0 detail
		 (title off)
		 (borderStyle flat)
		 (geometry 46 135 787 339)
		 (editing disabled)
		)
		(widget 1 detail
		 (title off)
		 (borderStyle flat)
		 (geometry 403 485 68 35)
		)
	   )
	  )
	 )
	)
	(component 3 IFTHENELSE
	 (name "!= 0")
	 (description2 5
	  "If no threads are running, the Toggle can generate"
	  "it\'s output data whenever the button is changed"
	  "(using the Toggle\'s AutoExecute mode).  In this"
	  "case, either the User Object is executed or the"
	  "Autoexecute sequence terminates."
	 )
	 (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")
	 )
	)
	(configuration
	 (connect D1:0 D0:1)
	 (connect D2:1 D1:0)
	 (connect D0:1 D2:1)
	)
   )
  )
  (component 9 NOTE
   (implementation
   )
  )
  (configuration
   (connect D0:1 D1:1)
   (connect D1:3 D2:1)
   (connect D1:4 D3:1)
   (connect D5:1 D4:1)
   (connect D1:3 D5:1)
   (connect D1:4 D5:2)
  )
 )
 (viewFor -1
  (active detail)
  (detail
   (geometry 0 53 900 447)
   (configuration
	(viewFor 0
	 (active detail)
	 (icon
	 )
	 (detail
	  (geometry 44 116 243 129)
	 )
	 (terminals on)
	)
	(viewFor 1
	 (active detail)
	 (icon
	  (geometry 482 188 136 64)
	  (iconImage "unbuild.icn")
	 )
	 (detail
	  (geometry 450 88 3 184)
	 )
	 (terminals on)
	)
	(viewFor 2
	 (active detail)
	 (icon
	  (geometry 0 0 112 0)
	  (iconImage "display.icn")
	 )
	 (detail
	  (geometry 596 88 248 225)
	  (displayMode scrollGraph)
	  (graphType cartesian)
	  (gridType off)
	  (scale 0
	   (name "Y name")
	   (domainName "X name")
	   (pen 9)
	   (show 1)
	   (range -1.5 1.5 4 linear)
	  )
	  (domain 0 0.02 4 linear)
	  (trace 0 onScale 0
	   (name "Trace1")
	   (pen 4)
	   (lineType 1)
	   (pointType 0)
	  )
	 )
	)
	(viewFor 3
	 (active detail)
	 (icon
	  (geometry 0 0 80 0)
	  (iconImage "display.icn")
	 )
	 (detail
	  (geometry 56 448 248 225)
	  (displayMode scrollGraph)
	  (graphType cartesian)
	  (gridType off)
	  (scale 0
	   (name "Y name")
	   (domainName "X name")
	   (pen 9)
	   (show 1)
	   (range -1.5 1.5 4 linear)
	  )
	  (domain 0 0.02 4 linear)
	  (trace 0 onScale 0
	   (name "Trace1")
	   (pen 4)
	   (lineType 1)
	   (pointType 0)
	  )
	 )
	)
	(viewFor 4
	 (active detail)
	 (icon
	  (geometry 0 0 118 0)
	  (iconImage "display.icn")
	 )
	 (detail
	  (geometry 386 448 248 225)
	  (displayMode scrollGraph)
	  (graphType cartesian)
	  (gridType off)
	  (scale 0
	   (name "Y name")
	   (domainName "X name")
	   (pen 9)
	   (show 1)
	   (range -1.5 1.5 4 linear)
	  )
	  (domain 0 0.02 4 linear)
	  (trace 0 onScale 0
	   (name "Trace1")
	   (pen 4)
	   (lineType 1)
	   (pointType 0)
	  )
	 )
	)
	(viewFor 5
	 (active icon)
	 (icon
	  (geometry 616 356 48 28)
	 )
	 (detail
	 )
	 (terminals on)
	)
	(viewFor 8
	 (active panel)
	 (icon
	  (geometry -235 168 110 25)
	 )
	 (panel
	  (geometry 654 454 292 73)
	  (widget 0 detail
	   (title off)
	   (borderStyle flat)
	   (geometry 743 471 114 39)
	   (scaled on)
	   (format button)
	  )
	 )
	 (detail
	  (geometry 4 75 912 591)
	  (configuration
	   (viewFor 0
		(active detail)
		(icon
		 (geometry -40 -7 81 15)
		)
		(detail
		 (geometry 203 301 114 39)
		 (scaled on)
		 (format button)
		)
		(title off)
	   )
	   (viewFor 2
		(active icon)
		(icon
		 (geometry 362 358 217 25)
		)
		(detail
		 (geometry 47 150 866 520)
		 (configuration
		  (viewFor 0
		   (active detail)
		   (icon
			(geometry 440 416 78 25)
		   )
		   (detail
			(geometry 56 202 848 437)
			(editing enabled)
		   )
		  )
		  (viewFor 1
		   (active detail)
		   (icon
			(geometry -22 -7 45 15)
		   )
		   (detail
			(geometry 451 472 58 37)
		   )
		   (title off)
		  )
		 )
		 (stackingOrder 1 0)
		)
	   )
	   (viewFor 3
		(active icon)
		(icon
		 (geometry 377 308 46 25)
		)
		(detail
		 (geometry 349 328 73 64)
		)
		(terminals on)
	   )
	   (connect D1:0 D0:1
		(points 5 470 385 470 400 180 400 180 320 200 320)
	   )
	   (connect D2:1 D1:0
		(points 3 425 310 470 310 470 355)
	   )
	   (connect D0:1 D2:1
		(points 2 319 320 374 320)
	   )
	  )
	  (stackingOrder 0 2 1)
	 )
	)
	(viewFor 9
	 (active icon)
	 (icon
	  (geometry 21 306 338 48)
	  (iconImage "disclaim.icn")
	  (label off)
	 )
	 (detail
	  (geometry 830 250 200 100)
	  (editing enabled)
	 )
	)
	(connect D0:1 D1:1
	 (points 2 329 180 364 180)
	)
	(connect D1:3 D2:1
	 (points 2 535 200 593 200)
	)
	(connect D1:4 D3:1
	 (points 6 535 240 550 240 550 380 30 380 30 560 53 560)
	)
	(connect D5:1 D4:1
	 (points 6 666 370 690 370 690 410 360 410 360 560 383 560)
	)
	(connect D1:3 D5:1
	 (points 4 535 200 570 200 570 360 613 360)
	)
	(connect D1:4 D5:2
	 (points 4 535 240 550 240 550 380 613 380)
	)
   )
   (stackingOrder 7 3 4 6 0 1 2 5)
  )
  (titleBg "Gray")
  (titleFg "Black")
  (numberFormats
   (realFormat standard)
   (realSigDigits 4)
   (realRadixSpec 4)
   (integerBase decimal)
  )
 )
)
